// <auto-generated>
//     Generated by the protocol buffer compiler.  DO NOT EDIT!
//     source: client_table.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 Nova.Client {

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

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

    static ClientTableReflection() {
      byte[] descriptorData = global::System.Convert.FromBase64String(
          string.Concat(
            "ChJjbGllbnRfdGFibGUucHJvdG8SC25vdmEuY2xpZW50IocDCgtBY2hpZXZl",
            "bWVudBIKCgJJZBgBIAEoBRIRCglBY2hpZXZlSWQYAiABKAUSDQoFVGl0bGUY",
            "AyABKAkSDAoERGVzYxgEIAEoCRIOCgZSYXJpdHkYBSABKAUSDAoEVHlwZRgG",
            "IAEoBRIMCgRIaWRlGAcgASgIEg4KBkp1bXBUbxgIIAEoBRIUCgxDb21wbGV0",
            "ZUNvbmQYCSABKAUSGgoSQ29tcGxldGVDb25kQ2xpZW50GAogASgFEhIKCkFp",
            "bU51bVNob3cYCyABKAUSFQoNUHJlcmVxdWlzaXRlcxgMIAMoBRIRCglMZXZl",
            "bFR5cGUYDSABKAUSHQoVQ2xpZW50Q29tcGxldGVQYXJhbXMxGA4gAygFEh0K",
            "FUNsaWVudENvbXBsZXRlUGFyYW1zMhgPIAMoBRIMCgRUaWQxGBAgASgFEgwK",
            "BFF0eTEYESABKAUSDAoEVGlkMhgSIAEoBRIMCgRRdHkyGBMgASgFEgwKBFRp",
            "ZDMYFCABKAUSDAoEUXR5MxgVIAEoBSI7ChF0YWJsZV9BY2hpZXZlbWVudBIm",
            "CgRsaXN0GAEgAygLMhgubm92YS5jbGllbnQuQWNoaWV2ZW1lbnQitAIKCEFj",
            "dGl2aXR5EgoKAklkGAEgASgFEg4KBlNvcnRJZBgCIAEoBRIUCgxBY3Rpdml0",
            "eVR5cGUYAyABKAUSDAoETmFtZRgEIAEoCRIQCghQcmVMaW1pdBgFIAEoBRIS",
            "CgpMaW1pdFBhcmFtGAYgASgJEhEKCVN0YXJ0VHlwZRgHIAEoBRIRCglTdGFy",
            "dFRpbWUYCCABKAkSFQoNU3RhcnRDb25kVHlwZRgJIAEoBRIXCg9TdGFydENv",
            "bmRQYXJhbXMYCiADKAUSDwoHRW5kVHlwZRgLIAEoBRIPCgdFbmRUaW1lGAwg",
            "ASgJEhMKC0VuZER1cmF0aW9uGA0gASgFEhEKCUJhbm5lclJlcxgOIAEoCRIQ",
            "CghQb3BVcFJlcxgPIAEoCRIQCghUYWJCZ1JlcxgQIAEoCSI1Cg50YWJsZV9B",
            "Y3Rpdml0eRIjCgRsaXN0GAEgAygLMhUubm92YS5jbGllbnQuQWN0aXZpdHki",
            "UAoNQWRkQnVmZkFjdGlvbhIKCgJJZBgBIAEoBRIPCgdHcm91cElkGAIgASgF",
            "EhIKClRhcmdldFR5cGUYAyABKAUSDgoGQnVmZklkGAQgASgFIj8KE3RhYmxl",
            "X0FkZEJ1ZmZBY3Rpb24SKAoEbGlzdBgBIAMoCzIaLm5vdmEuY2xpZW50LkFk",
            "ZEJ1ZmZBY3Rpb24iPgoMQWZmaW5pdHlHaWZ0EgoKAklkGAEgASgFEhQKDEJh",
            "c2VBZmZpbml0eRgCIAEoBRIMCgRUYWdzGAMgAygFIj0KEnRhYmxlX0FmZmlu",
            "aXR5R2lmdBInCgRsaXN0GAEgAygLMhkubm92YS5jbGllbnQuQWZmaW5pdHlH",
            "aWZ0Iv8BCg1BZmZpbml0eUxldmVsEgoKAklkGAEgASgFEhUKDUFmZmluaXR5",
            "TGV2ZWwYAiABKAUSDwoHTmVlZEV4cBgDIAEoBRISCgpUZW1wbGF0ZUlkGAQg",
            "ASgFEhkKEUFmZmluaXR5TGV2ZWxOYW1lGAUgASgJEhkKEUFmZmluaXR5TGV2",
            "ZWxJY29uGAYgASgJEh8KF0FmZmluaXR5TGV2ZWxSZXdhcmRJY29uGAcgASgJ",
            "EiMKG0FmZmluaXR5TGV2ZWxSZXdhcmRMb2NrSWNvbhgIIAEoCRIOCgZFZmZl",
            "Y3QYCSADKAUSGgoSQWZmaW5pdHlMZXZlbFN0YWdlGAogASgFIj8KE3RhYmxl",
            "X0FmZmluaXR5TGV2ZWwSKAoEbGlzdBgBIAMoCzIaLm5vdmEuY2xpZW50LkFm",
            "ZmluaXR5TGV2ZWwioAEKDUFmZmluaXR5UXVlc3QSCgoCSWQYASABKAUSDAoE",
            "RGVzYxgCIAEoCRIOCgZTb3J0SWQYAyABKAUSDgoGQ2hhcklkGAQgASgFEhQK",
            "DENvbXBsZXRlQ29uZBgFIAEoBRIaChJDb21wbGV0ZUNvbmRQYXJhbXMYBiAB",
            "KAkSDgoGUmV3YXJkGAcgAygFEhMKC0FmZmluaXR5RXhwGAggASgFIj8KE3Rh",
            "YmxlX0FmZmluaXR5UXVlc3QSKAoEbGlzdBgBIAMoCzIaLm5vdmEuY2xpZW50",
            "LkFmZmluaXR5UXVlc3Qi7gEKEEFmZmluaXR5VXBSZXdhcmQSCgoCSWQYASAB",
            "KAUSDgoGQ2hhcklkGAIgASgFEhMKC1Jld2FyZExldmVsGAMgASgFEg8KB1Jl",
            "d2FyZDEYBCADKAUSDwoHUmV3YXJkMhgFIAMoBRIPCgdSZXdhcmQzGAYgAygF",
            "EhIKCkRlc2NGcm9udDEYByABKAkSEgoKRGVzY0Zyb250MhgIIAEoCRISCgpE",
            "ZXNjRnJvbnQzGAkgASgJEhIKCkRlc2NBZnRlcjEYCiABKAkSEgoKRGVzY0Fm",
            "dGVyMhgLIAEoCRISCgpEZXNjQWZ0ZXIzGAwgASgJIkUKFnRhYmxlX0FmZmlu",
            "aXR5VXBSZXdhcmQSKwoEbGlzdBgBIAMoCzIdLm5vdmEuY2xpZW50LkFmZmlu",
            "aXR5VXBSZXdhcmQi/wMKBUFnZW50EgoKAklkGAEgASgFEgsKA1RhYhgCIAEo",
            "BRIMCgROb3RlGAMgASgJEgwKBE5hbWUYBCABKAkSDAoERGVzYxgFIAEoCRIR",
            "CglDb25zaWdub3IYBiABKAkSEwoLUmVmcmVzaFR5cGUYByABKAUSEgoKTWVt",
            "YmVyVHlwZRgIIAEoBRINCgVMZXZlbBgJIAEoBRISCgpCdWlsZFNjb3JlGAog",
            "ASgFEhMKC01lbWJlckxpbWl0GAsgASgFEgwKBFRhZ3MYDCADKAUSEQoJRXh0",
            "cmFUYWdzGA0gAygFEhgKEFVubG9ja0NvbmRpdGlvbnMYDiABKAkSDAoEU29y",
            "dBgPIAEoBRINCgVUaW1lMRgQIAEoBRIWCg5SZXdhcmRQcmV2aWV3MRgRIAEo",
            "CRIVCg1Cb251c1ByZXZpZXcxGBIgASgJEg0KBVRpbWUyGBMgASgFEhYKDlJl",
            "d2FyZFByZXZpZXcyGBQgASgJEhUKDUJvbnVzUHJldmlldzIYFSABKAkSDQoF",
            "VGltZTMYFiABKAUSFgoOUmV3YXJkUHJldmlldzMYFyABKAkSFQoNQm9udXNQ",
            "cmV2aWV3MxgYIAEoCRINCgVUaW1lNBgZIAEoBRIWCg5SZXdhcmRQcmV2aWV3",
            "NBgaIAEoCRIVCg1Cb251c1ByZXZpZXc0GBsgASgJIi8KC3RhYmxlX0FnZW50",
            "EiAKBGxpc3QYASADKAsyEi5ub3ZhLmNsaWVudC5BZ2VudCJmChdBZ2VudFNw",
            "ZWNpYWxQZXJmb3JtYW5jZRIKCgJJZBgBIAEoBRIOCgZDaGFySWQYAiADKAUS",
            "DgoGV2VpZ2h0GAMgASgFEgsKA0F2ZxgEIAEoCRISCgpBVkdHcm91cElkGAUg",
            "ASgJIlMKHXRhYmxlX0FnZW50U3BlY2lhbFBlcmZvcm1hbmNlEjIKBGxpc3QY",
            "ASADKAsyJC5ub3ZhLmNsaWVudC5BZ2VudFNwZWNpYWxQZXJmb3JtYW5jZSI/",
            "CghBZ2VudFRhYhIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEgoKAkJnGAMg",
            "ASgJEg0KBVNwVGFnGAQgASgIIjUKDnRhYmxlX0FnZW50VGFiEiMKBGxpc3QY",
            "ASADKAsyFS5ub3ZhLmNsaWVudC5BZ2VudFRhYiKTAQoCQUkSCgoCSWQYASAB",
            "KAUSDwoHRkNTcGF3bhgCIAEoCRIOCgZGQ0lkbGUYAyABKAkSEAoIRkNBY3Rp",
            "b24YBCABKAkSFQoNRkNMb3N0Q29udHJvbBgFIAEoCRIPCgdGQ0RlYXRoGAYg",
            "ASgJEhAKCEZDR2xvYmFsGAcgASgJEhQKDEZDQ29tYm9Hcm91cBgIIAEoCSIp",
            "Cgh0YWJsZV9BSRIdCgRsaXN0GAEgAygLMg8ubm92YS5jbGllbnQuQUkiRgoK",
            "QXJlYUVmZmVjdBIPCgdBcmVhVGFnGAEgASgFEhAKCE1heENvdW50GAIgASgF",
            "EhUKDU92ZXJMaW1pdFR5cGUYAyABKAUiOQoQdGFibGVfQXJlYUVmZmVjdBIl",
            "CgRsaXN0GAEgAygLMhcubm92YS5jbGllbnQuQXJlYUVmZmVjdCKpCwoJQXR0",
            "cmlidXRlEgoKAklkGAEgASgJEg8KB0dyb3VwSWQYAiABKAUSDQoFQnJlYWsY",
            "AyABKAUSCwoDbHZsGAQgASgFEgsKA0F0axgFIAEoBRIKCgJIcBgGIAEoBRIL",
            "CgNEZWYYByABKAUSEAoIQ3JpdFJhdGUYCCABKAUSFgoOTm9ybWFsQ3JpdFJh",
            "dGUYCSABKAUSFQoNU2tpbGxDcml0UmF0ZRgKIAEoBRIVCg1VbHRyYUNyaXRS",
            "YXRlGAsgASgFEhQKDE1hcmtDcml0UmF0ZRgMIAEoBRIWCg5TdW1tb25Dcml0",
            "UmF0ZRgNIAEoBRIaChJQcm9qZWN0aWxlQ3JpdFJhdGUYDiABKAUSFQoNT3Ro",
            "ZXJDcml0UmF0ZRgPIAEoBRIWCg5Dcml0UmVzaXN0YW5jZRgQIAEoBRIRCglD",
            "cml0UG93ZXIYESABKAUSFwoPTm9ybWFsQ3JpdFBvd2VyGBIgASgFEhYKDlNr",
            "aWxsQ3JpdFBvd2VyGBMgASgFEhYKDlVsdHJhQ3JpdFBvd2VyGBQgASgFEhUK",
            "DU1hcmtDcml0UG93ZXIYFSABKAUSFwoPU3VtbW9uQ3JpdFBvd2VyGBYgASgF",
            "EhsKE1Byb2plY3RpbGVDcml0UG93ZXIYFyABKAUSFgoOT3RoZXJDcml0UG93",
            "ZXIYGCABKAUSDwoHSGl0UmF0ZRgZIAEoBRILCgNFdmQYGiABKAUSEQoJRGVm",
            "UGllcmNlGBsgASgFEhEKCURlZklnbm9yZRgcIAEoBRILCgNXRVAYHSABKAUS",
            "CwoDRkVQGB4gASgFEgsKA1NFUBgfIAEoBRILCgNBRVAYICABKAUSCwoDTEVQ",
            "GCEgASgFEgsKA0RFUBgiIAEoBRILCgNXRUkYIyABKAUSCwoDRkVJGCQgASgF",
            "EgsKA1NFSRglIAEoBRILCgNBRUkYJiABKAUSCwoDTEVJGCcgASgFEgsKA0RF",
            "SRgoIAEoBRILCgNXRUUYKSABKAUSCwoDRkVFGCogASgFEgsKA1NFRRgrIAEo",
            "BRILCgNBRUUYLCABKAUSCwoDTEVFGC0gASgFEgsKA0RFRRguIAEoBRILCgNX",
            "RVIYLyABKAUSCwoDRkVSGDAgASgFEgsKA1NFUhgxIAEoBRILCgNBRVIYMiAB",
            "KAUSCwoDTEVSGDMgASgFEgsKA0RFUhg0IAEoBRIdChVUb3VnaG5lc3NEYW1h",
            "Z2VBZGp1c3QYNSABKAUSEQoJVG91Z2huZXNzGDYgASgFEhAKCFN1cHByZXNz",
            "GDcgASgFEhEKCU5PUk1BTERNRxg4IAEoBRIQCghTS0lMTERNRxg5IAEoBRIQ",
            "CghVTFRSQURNRxg6IAEoBRIQCghPVEhFUkRNRxg7IAEoBRIUCgxSQ0ROT1JN",
            "QUxETUcYPCABKAUSEwoLUkNEU0tJTExETUcYPSABKAUSEwoLUkNEVUxUUkFE",
            "TUcYPiABKAUSEwoLUkNET1RIRVJETUcYPyABKAUSDwoHTUFSS0RNRxhAIAEo",
            "BRISCgpSQ0RNQVJLRE1HGEEgASgFEhEKCVNVTU1PTkRNRxhCIAEoBRIUCgxS",
            "Q0RTVU1NT05ETUcYQyABKAUSFQoNUFJPSkVDVElMRURNRxhEIAEoBRIYChBS",
            "Q0RQUk9KRUNUSUxFRE1HGEUgASgFEg4KBkdFTkRNRxhGIAEoBRIPCgdETUdQ",
            "TFVTGEcgASgFEhAKCEZJTkFMRE1HGEggASgFEhQKDEZJTkFMRE1HUExVUxhJ",
            "IAEoBRIOCgZXRUVSQ0QYSiABKAUSDgoGRkVFUkNEGEsgASgFEg4KBlNFRVJD",
            "RBhMIAEoBRIOCgZBRUVSQ0QYTSABKAUSDgoGTEVFUkNEGE4gASgFEg4KBkRF",
            "RVJDRBhPIAEoBRIRCglHRU5ETUdSQ0QYUCABKAUSEgoKRE1HUExVU1JDRBhR",
            "IAEoBSI3Cg90YWJsZV9BdHRyaWJ1dGUSJAoEbGlzdBgBIAMoCzIWLm5vdmEu",
            "Y2xpZW50LkF0dHJpYnV0ZSJNCg5BdHRyaWJ1dGVMaW1pdBIKCgJJZBgBIAEo",
            "BRINCgVMb3dlchgCIAEoBRINCgVVcHBlchgDIAEoBRIRCglJc0xpbWl0ZWQY",
            "BCABKAgiQQoUdGFibGVfQXR0cmlidXRlTGltaXQSKQoEbGlzdBgBIAMoCzIb",
            "Lm5vdmEuY2xpZW50LkF0dHJpYnV0ZUxpbWl0IuEDCgpCYXR0bGVQYXNzEgoK",
            "AklEGAEgASgFEgwKBE5hbWUYAiABKAkSEQoJU3RhcnRUaW1lGAMgASgJEg8K",
            "B0VuZFRpbWUYBCABKAkSFwoPTHV4dXJ5UHJvZHVjdElkGAUgASgJEhMKC0x1",
            "eHVyeVByaWNlGAYgASgFEhgKEEx1eHVyeUJvbnVzTGV2ZWwYByABKAUSEQoJ",
            "THV4dXJ5VGlkGAggASgFEhEKCUx1eHVyeVF0eRgJIAEoBRIYChBQcmVtaXVt",
            "UHJvZHVjdElkGAogASgJEhQKDFByZW1pdW1QcmljZRgLIAEoBRISCgpQcmVt",
            "aXVtVGlkGAwgASgFEhIKClByZW1pdW1RdHkYDSABKAUSHgoWQ29tcGxlbWVu",
            "dGFyeVByb2R1Y3RJZBgOIAEoCRIaChJDb21wbGVtZW50YXJ5UHJpY2UYDyAB",
            "KAUSGAoQQ29tcGxlbWVudGFyeVRpZBgQIAEoBRIYChBDb21wbGVtZW50YXJ5",
            "UXR5GBEgASgFEg0KBUNvdmVyGBIgASgJEhgKEFByZW1pdW1TaG93SXRlbXMY",
            "EyADKAUSFwoPTHV4dXJ5U2hvd0l0ZW1zGBQgAygFEh0KFU91dGZpdFBhY2th",
            "Z2VTaG93SXRlbRgVIAEoBSI5ChB0YWJsZV9CYXR0bGVQYXNzEiUKBGxpc3QY",
            "ASADKAsyFy5ub3ZhLmNsaWVudC5CYXR0bGVQYXNzIkQKD0JhdHRsZVBhc3NM",
            "ZXZlbBIKCgJJRBgBIAEoBRILCgNFeHAYAiABKAUSCwoDVGlkGAMgASgFEgsK",
            "A1F0eRgEIAEoBSJDChV0YWJsZV9CYXR0bGVQYXNzTGV2ZWwSKgoEbGlzdBgB",
            "IAMoCzIcLm5vdmEuY2xpZW50LkJhdHRsZVBhc3NMZXZlbCJXCg9CYXR0bGVQ",
            "YXNzUXVlc3QSCgoCSWQYASABKAUSDAoEVHlwZRgCIAEoBRINCgVUaXRsZRgD",
            "IAEoCRIOCgZKdW1wVG8YBCABKAUSCwoDRXhwGAUgASgFIkMKFXRhYmxlX0Jh",
            "dHRsZVBhc3NRdWVzdBIqCgRsaXN0GAEgAygLMhwubm92YS5jbGllbnQuQmF0",
            "dGxlUGFzc1F1ZXN0IpABChBCYXR0bGVQYXNzUmV3YXJkEgoKAklEGAEgASgF",
            "Eg0KBUxldmVsGAIgASgFEgwKBFRpZDEYAyABKAUSDAoEUXR5MRgEIAEoBRIM",
            "CgRUaWQyGAUgASgFEgwKBFF0eTIYBiABKAUSDAoEVGlkMxgHIAEoBRIMCgRR",
            "dHkzGAggASgFEg0KBUZvY3VzGAkgASgIIkUKFnRhYmxlX0JhdHRsZVBhc3NS",
            "ZXdhcmQSKwoEbGlzdBgBIAMoCzIdLm5vdmEuY2xpZW50LkJhdHRsZVBhc3NS",
            "ZXdhcmQiuwMKD0JhdHRsZVRocmVzaG9sZBIRCglNaXNzaW9uSWQYASABKAUS",
            "DwoHVmVyc2lvbhgCIAEoBRISCgpmcm9tU3JjQXRrGAMgASgFEh4KFmZyb21Q",
            "ZXJrSW50ZW5zaXR5UmF0aW8YBCABKAUSGAoQZnJvbVNsb3REbWdSYXRpbxgF",
            "IAEoBRIOCgZmcm9tRUUYBiABKAUSFwoPZnJvbUdlbkRtZ1JhdGlvGAcgASgF",
            "EhMKC2Zyb21EbWdQbHVzGAggASgFEhUKDWZyb21Dcml0UmF0aW8YCSABKAUS",
            "GQoRZnJvbUZpbmFsRG1nUmF0aW8YCiABKAUSGAoQZnJvbUZpbmFsRG1nUGx1",
            "cxgLIAEoBRIRCgl0b0VyQW1lbmQYDCABKAUSEgoKdG9EZWZBbWVuZBgNIAEo",
            "BRIZChF0b1JjZFNsb3REbWdSYXRpbxgOIAEoBRIPCgd0b0VFUkNEGA8gASgF",
            "EhgKEHRvR2VuRG1nUmNkUmF0aW8YECABKAUSFAoMdG9EbWdQbHVzUmNkGBEg",
            "ASgFEgsKA0RtZxgSIAEoBRIQCghDcml0UmF0ZRgTIAEoBRIKCgJIcBgUIAEo",
            "BSJDChV0YWJsZV9CYXR0bGVUaHJlc2hvbGQSKgoEbGlzdBgBIAMoCzIcLm5v",
            "dmEuY2xpZW50LkJhdHRsZVRocmVzaG9sZCJKCghCb2FyZE5QQxIKCgJJZBgB",
            "IAEoBRIMCgROYW1lGAIgASgJEg0KBUFsaWFzGAMgASgJEhUKDURlZmF1bHRT",
            "a2luSWQYBCABKAUiNQoOdGFibGVfQm9hcmROUEMSIwoEbGlzdBgBIAMoCzIV",
            "Lm5vdmEuY2xpZW50LkJvYXJkTlBDItoCCgRCdWZmEgoKAklkGAEgASgFEgwK",
            "BE5hbWUYAiABKAkSFQoNbGV2ZWxUeXBlRGF0YRgDIAEoBRIRCglMZXZlbERh",
            "dGEYBCABKAUSFQoNTWFpbk9yU3VwcG9ydBgFIAEoBRIPCgdHcm91cElkGAYg",
            "ASgFEhIKClJlZHVjZVRpbWUYByABKAUSEAoIQnVmZlRhZzEYCCABKAUSEAoI",
            "QnVmZlRhZzIYCSABKAUSEAoIQnVmZlRhZzMYCiABKAUSEAoIQnVmZlRhZzQY",
            "CyABKAUSEAoIQnVmZlRhZzUYDCABKAUSEgoKQmluZEVmZmVjdBgNIAEoCRIM",
            "CgRJY29uGA4gASgJEg4KBklzU2hvdxgPIAEoCBIXCg9Ub3BvZkhlYWRFZmZl",
            "Y3QYECABKAkSGgoSQnVmZk51bUVmZmVjdExldmVsGBEgAygFEhEKCU5vdFJl",
            "bW92ZRgSIAEoCCItCgp0YWJsZV9CdWZmEh8KBGxpc3QYASADKAsyES5ub3Zh",
            "LmNsaWVudC5CdWZmIokCCglCdWZmVmFsdWUSCgoCSWQYASABKAUSDAoETmFt",
            "ZRgCIAEoCRIMCgRTb3J0GAMgASgFEhMKC0J1ZmZFZmZlY3RzGAQgAygFEgwK",
            "BFRpbWUYBSABKAUSFAoMTGFtaW5hdGVkTnVtGAYgASgFEgsKA051bRgHIAEo",
            "BRIZChFUaW1lU3VwZXJwb3NpdGlvbhgIIAEoBRIOCgZUaW1pbmcYCSABKAUS",
            "EwoLUmVwbGFjZVR5cGUYCiABKAgSEwoLQXR0YWNrQ2xlYXIYCyABKAgSEAoI",
            "SGl0Q2xlYXIYDCABKAgSEQoJSXNJbmhlcml0GA0gASgIEhQKDElzRXhpdERl",
            "bGV0ZRgOIAEoCCI3Cg90YWJsZV9CdWZmVmFsdWUSJAoEbGlzdBgBIAMoCzIW",
            "Lm5vdmEuY2xpZW50LkJ1ZmZWYWx1ZSKzAQoHQ2hhcHRlchIKCgJJZBgBIAEo",
            "BRIMCgROYW1lGAIgASgJEgwKBERlc2MYAyABKAkSEwoLQ2hhcHRlclR5cGUY",
            "BCABKAUSEgoKV29ybGRDbGFzcxgFIAEoBRIVCg1QcmV2TWFpbmxpbmVzGAYg",
            "AygFEhcKD0NvbXBsZXRlUmV3YXJkcxgHIAEoCRISCgpDaGFwdGVySW1nGAgg",
            "ASgJEhMKC0NoYXB0ZXJJY29uGAkgASgJIjMKDXRhYmxlX0NoYXB0ZXISIgoE",
            "bGlzdBgBIAMoCzIULm5vdmEuY2xpZW50LkNoYXB0ZXIilwsKCUNoYXJhY3Rl",
            "chIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEg8KB1Zpc2libGUYAyABKAgS",
            "EQoJQXZhaWxhYmxlGAQgASgIEg0KBUdyYWRlGAUgASgFEhUKDURlZmF1bHRT",
            "a2luSWQYBiABKAUSFQoNQWR2YW5jZVNraW5JZBgHIAEoBRIUCgxBZHZhbmNl",
            "R3JvdXAYCCABKAUSHgoWQWR2YW5jZVNraW5VbmxvY2tMZXZlbBgJIAEoBRIP",
            "CgdGYWN0aW9uGAogASgFEg4KBldlaWdodBgLIAEoBRILCgNFRVQYDCABKAUS",
            "DQoFQ2xhc3MYDSABKAUSGwoTQ2hhcmFjdGVyQXR0YWNrVHlwZRgOIAEoBRIY",
            "ChBTZWFyY2hUYXJnZXRUeXBlGA8gASgFEg4KBkF0a1NwZBgQIAEoBRIPCgdN",
            "b3ZUeXBlGBEgASgFEg8KB1dhbGtTcGQYEiABKAUSDgoGUnVuU3BkGBMgASgF",
            "EhAKCFNwUnVuU3BkGBQgASgFEhAKCFRyYW5zU3BkGBUgASgFEhkKEVdhbGtU",
            "b1J1bkR1cmF0aW9uGBYgASgFEiMKG0RvZGdlVG9SdW5BY2NlbGVyYXRpb25P",
            "ck5vdBgXIAEoCBIOCgZNb3ZBY2MYGCABKAUSDgoGUm90U3BkGBkgASgFEg4K",
            "BlJvdEFjYxgaIAEoBRIRCglWaXNpb25EZWcYGyABKAUSEQoJVmlzaW9uUm5n",
            "GBwgASgFEhcKD1Zpc2lvbkF0dGFja1JuZxgdIAEoBRIPCgdIZWFyUm5nGB4g",
            "ASgFEhUKDUhlYXJBdHRhY2tSbmcYHyABKAUSEwoLUmFpc2VHdW5SbmcYICAB",
            "KAUSEgoKQnVsbGV0VHlwZRghIAEoBRIMCgRBbW1vGCIgASgFEgwKBEFJSWQY",
            "IyABKAUSEwoLTm9ybWFsQXRrSWQYJCABKAUSDwoHRG9kZ2VJZBglIAEoBRIP",
            "CgdTa2lsbElkGCYgASgFEhYKDlNwZWNpYWxTa2lsbElkGCcgASgFEhIKClVs",
            "dGltYXRlSWQYKCABKAUSEgoKQXNzaXN0QUlJZBgpIAEoBRIZChFBc3Npc3RO",
            "b3JtYWxBdGtJZBgqIAEoBRIVCg1Bc3Npc3REb2RnZUlkGCsgASgFEhUKDUFz",
            "c2lzdFNraWxsSWQYLCABKAUSHAoUQXNzaXN0U3BlY2lhbFNraWxsSWQYLSAB",
            "KAUSGAoQQXNzaXN0VWx0aW1hdGVJZBguIAEoBRIVCg1UYWxlbnRTa2lsbElk",
            "GC8gASgFEh4KFkFzc2lzdFNraWxsT25TdGFnZVR5cGUYMCABKAUSGAoQQXNz",
            "aXN0U2tpbGxBbmdsZRgxIAEoBRIZChFBc3Npc3RTa2lsbFJhZGl1cxgyIAEo",
            "BRIlCh1Bc3Npc3RTa2lsbE9uU3RhZ2VPcmllbnRhdGlvbhgzIAEoBRIhChlB",
            "c3Npc3RVbHRpbWF0ZU9uU3RhZ2VUeXBlGDQgASgFEhsKE0Fzc2lzdFVsdGlt",
            "YXRlQW5nbGUYNSABKAUSHAoUQXNzaXN0VWx0aW1hdGVSYWRpdXMYNiABKAUS",
            "KAogQXNzaXN0VWx0aW1hdGVPblN0YWdlT3JpZW50YXRpb24YNyABKAUSEAoI",
            "U3dpdGNoQ0QYOCABKAUSFwoPRW5lcmd5Q29udlJhdGlvGDkgASgFEhgKEEVu",
            "ZXJneUVmZmljaWVuY3kYOiABKAUSEwoLRnJhZ21lbnRzSWQYOyABKAUSFAoM",
            "VHJhbnNmb3JtUXR5GDwgASgFEhYKDlJlY3J1aXRtZW50UXR5GD0gASgFEhMK",
            "C0F0dHJpYnV0ZUlkGD4gASgJEhcKD1ByZXNlbnRzVHJhaXRJZBg/IAEoBRIa",
            "ChJTa2lsbHNVcGdyYWRlR3JvdXAYQCADKAUiNwoPdGFibGVfQ2hhcmFjdGVy",
            "EiQKBGxpc3QYASADKAsyFi5ub3ZhLmNsaWVudC5DaGFyYWN0ZXIi1gMKEENo",
            "YXJhY3RlckFkdmFuY2USCgoCSWQYASABKAUSDQoFR3JvdXAYAiABKAUSEgoK",
            "QWR2YW5jZUx2bBgDIAEoBRIMCgRUaWQxGAQgASgFEgwKBFF0eTEYBSABKAUS",
            "DAoEVGlkMhgGIAEoBRIMCgRRdHkyGAcgASgFEgwKBFRpZDMYCCABKAUSDAoE",
            "UXR5MxgJIAEoBRIMCgRUaWQ0GAogASgFEgwKBFF0eTQYCyABKAUSDwoHR29s",
            "ZFF0eRgMIAEoBRIRCglBd2FyZFRpZDEYDSABKAUSEQoJQXdhcmRRdHkxGA4g",
            "ASgFEhEKCUF3YXJkVGlkMhgPIAEoBRIRCglBd2FyZFF0eTIYECABKAUSEQoJ",
            "QXdhcmRUaWQzGBEgASgFEhEKCUF3YXJkUXR5MxgSIAEoBRIZChFBZHZhbmNl",
            "RGVzY0Zyb250MRgTIAEoCRIZChFBZHZhbmNlRGVzY0FmdGVyMRgUIAEoCRIZ",
            "ChFBZHZhbmNlRGVzY0Zyb250MhgVIAEoCRIZChFBZHZhbmNlRGVzY0FmdGVy",
            "MhgWIAEoCRIZChFBZHZhbmNlRGVzY0Zyb250MxgXIAEoCRIZChFBZHZhbmNl",
            "RGVzY0FmdGVyMxgYIAEoCSJFChZ0YWJsZV9DaGFyYWN0ZXJBZHZhbmNlEisK",
            "BGxpc3QYASADKAsyHS5ub3ZhLmNsaWVudC5DaGFyYWN0ZXJBZHZhbmNlIoIB",
            "ChBDaGFyYWN0ZXJBcmNoaXZlEgoKAklkGAEgASgFEhAKCEFyY2hUeXBlGAIg",
            "ASgFEhMKC0NoYXJhY3RlcklkGAMgASgFEhsKE1VubG9ja0FmZmluaXR5TGV2",
            "ZWwYBCABKAUSEAoIUmVjb3JkSWQYBSABKAUSDAoEU29ydBgGIAEoBSJFChZ0",
            "YWJsZV9DaGFyYWN0ZXJBcmNoaXZlEisKBGxpc3QYASADKAsyHS5ub3ZhLmNs",
            "aWVudC5DaGFyYWN0ZXJBcmNoaXZlImkKGENoYXJhY3RlckFyY2hpdmVCYXNl",
            "SW5mbxIKCgJJZBgBIAEoBRITCgtDaGFyYWN0ZXJJZBgCIAEoBRINCgVUaXRs",
            "ZRgDIAEoCRIPCgdDb250ZW50GAQgASgJEgwKBFNvcnQYBSABKAUiVQoedGFi",
            "bGVfQ2hhcmFjdGVyQXJjaGl2ZUJhc2VJbmZvEjMKBGxpc3QYASADKAsyJS5u",
            "b3ZhLmNsaWVudC5DaGFyYWN0ZXJBcmNoaXZlQmFzZUluZm8iRQoXQ2hhcmFj",
            "dGVyQXJjaGl2ZUNvbnRlbnQSCgoCSWQYASABKAUSDQoFVGl0bGUYAiABKAkS",
            "DwoHQ29udGVudBgDIAEoCSJTCh10YWJsZV9DaGFyYWN0ZXJBcmNoaXZlQ29u",
            "dGVudBIyCgRsaXN0GAEgAygLMiQubm92YS5jbGllbnQuQ2hhcmFjdGVyQXJj",
            "aGl2ZUNvbnRlbnQirQEKFUNoYXJhY3RlckFyY2hpdmVWb2ljZRIKCgJJZBgB",
            "IAEoBRITCgtDaGFyYWN0ZXJJZBgCIAEoBRIbChNVbmxvY2tBZmZpbml0eUxl",
            "dmVsGAMgASgFEhIKClVubG9ja1Bsb3QYBCABKAUSDQoFVGl0bGUYBSABKAkS",
            "DgoGU291cmNlGAYgASgJEhUKDUFyY2hWb2ljZVR5cGUYByABKAUSDAoEU29y",
            "dBgIIAEoBSJPCht0YWJsZV9DaGFyYWN0ZXJBcmNoaXZlVm9pY2USMAoEbGlz",
            "dBgBIAMoCzIiLm5vdmEuY2xpZW50LkNoYXJhY3RlckFyY2hpdmVWb2ljZSJu",
            "CgtDaGFyYWN0ZXJDRxIKCgJJZBgBIAEoBRIaChJGdWxsU2NyZWVuUG9ydHJh",
            "aXQYAiABKAkSFQoNRnVsbFNjcmVlbkwyRBgDIAEoCRISCgpVbmxvY2tQbG90",
            "GAQgASgFEgwKBE5hbWUYBSABKAkiOwoRdGFibGVfQ2hhcmFjdGVyQ0cSJgoE",
            "bGlzdBgBIAMoCzIYLm5vdmEuY2xpZW50LkNoYXJhY3RlckNHIsMBCgxDaGFy",
            "YWN0ZXJEZXMSCgoCSWQYASABKAUSDQoFQWxpYXMYAiABKAkSDAoEQ25DdhgD",
            "IAEoCRIMCgRKcEN2GAQgASgJEhEKCUNoYXJDb2xvchgFIAEoCRIWCg5DaGFy",
            "U2tpbGxDb2xvchgGIAEoCRIPCgdDaGFyRGVzGAcgASgJEgsKA1RhZxgIIAMo",
            "BRINCgVGb3JjZRgJIAEoBRISCgpQcmVmZXJUYWdzGAogAygFEhAKCEhhdGVU",
            "YWdzGAsgAygFIj0KEnRhYmxlX0NoYXJhY3RlckRlcxInCgRsaXN0GAEgAygL",
            "Mhkubm92YS5jbGllbnQuQ2hhcmFjdGVyRGVzIscBChVDaGFyYWN0ZXJTa2ls",
            "bFVwZ3JhZGUSCgoCSWQYASABKAUSDQoFR3JvdXAYAiABKAUSEgoKQWR2YW5j",
            "ZU51bRgDIAEoBRIMCgRUaWQxGAQgASgFEgwKBFF0eTEYBSABKAUSDAoEVGlk",
            "MhgGIAEoBRIMCgRRdHkyGAcgASgFEgwKBFRpZDMYCCABKAUSDAoEUXR5MxgJ",
            "IAEoBRIMCgRUaWQ0GAogASgFEgwKBFF0eTQYCyABKAUSDwoHR29sZFF0eRgM",
            "IAEoBSJPCht0YWJsZV9DaGFyYWN0ZXJTa2lsbFVwZ3JhZGUSMAoEbGlzdBgB",
            "IAMoCzIiLm5vdmEuY2xpZW50LkNoYXJhY3RlclNraWxsVXBncmFkZSK/BAoN",
            "Q2hhcmFjdGVyU2tpbhIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEgwKBERl",
            "c2MYAyABKAkSDgoGSXNTaG93GAQgASgIEg4KBkNoYXJJZBgFIAEoBRIMCgRU",
            "eXBlGAYgASgFEhIKClNvdXJjZURlc2MYByABKAUSEQoJVHJhbnNmb3JtGAgg",
            "ASgJEhgKEFdhbGtBbmltYXRpb25TcGQYCSABKAUSFwoPUnVuQW5pbWF0aW9u",
            "U3BkGAogASgFEhkKEVNwUnVuQW5pbWF0aW9uU3BkGAsgASgFEhIKCk1vZGVs",
            "U2NhbGUYDCABKAUSFQoNQ29sbGlkZXJTY2FsZRgNIAEoBRIWCg5Nb2RlbFNo",
            "b3dTY2FsZRgOIAEoBRIVCg1Nb2RlbEVuZFNjYWxlGA8gASgFEhkKEUZvcmJp",
            "ZGRlbkJlaGl0Um90GBAgASgIEgwKBEljb24YESABKAkSEAoIUG9ydHJhaXQY",
            "EiABKAkSCgoCQmcYEyABKAkSDgoGT2Zmc2V0GBQgASgJEgsKA0wyRBgVIAEo",
            "CRITCgtDaGFyYWN0ZXJDRxgWIAEoBRINCgVNb2RlbBgXIAEoCRISCgpNb2Rl",
            "bF9TaG93GBggASgJEhEKCU1vZGVsX0VuZBgZIAEoCRIQCghHYWNoYUwyRBga",
            "IAEoCRIRCglTa2luVGhlbWUYGyABKAUSGAoQRWZmZWN0U2NhbGVWYWx1ZRgc",
            "IAEoBRIbChNUYWdFZmZlY3RTY2FsZVZhbHVlGB0gASgFIj8KE3RhYmxlX0No",
            "YXJhY3RlclNraW4SKAoEbGlzdBgBIAMoCzIaLm5vdmEuY2xpZW50LkNoYXJh",
            "Y3RlclNraW4ibwoWQ2hhcmFjdGVyU2tpblBhbmVsRmFjZRIKCgJJZBgBIAEo",
            "BRIQCghNYWluVmlldxgCIAEoCRIQCghDaGFySW5mbxgDIAEoCRIRCglCYXR0",
            "ZWxXaW4YBCABKAkSEgoKQmF0dGxlTG9zZRgFIAEoCSJRChx0YWJsZV9DaGFy",
            "YWN0ZXJTa2luUGFuZWxGYWNlEjEKBGxpc3QYASADKAsyIy5ub3ZhLmNsaWVu",
            "dC5DaGFyYWN0ZXJTa2luUGFuZWxGYWNlIkoKEkNoYXJhY3RlclNraW5UaGVt",
            "ZRIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEgwKBERlc2MYAyABKAkSDAoE",
            "SWNvbhgEIAEoCSJJChh0YWJsZV9DaGFyYWN0ZXJTa2luVGhlbWUSLQoEbGlz",
            "dBgBIAMoCzIfLm5vdmEuY2xpZW50LkNoYXJhY3RlclNraW5UaGVtZSI6CgxD",
            "aGFyYWN0ZXJUYWcSCgoCSWQYASABKAUSDQoFVGl0bGUYAiABKAkSDwoHVGFn",
            "VHlwZRgDIAEoBSI9ChJ0YWJsZV9DaGFyYWN0ZXJUYWcSJwoEbGlzdBgBIAMo",
            "CzIZLm5vdmEuY2xpZW50LkNoYXJhY3RlclRhZyJKChBDaGFyYWN0ZXJVcGdy",
            "YWRlEgoKAklkGAEgASgFEg4KBlJhcml0eRgCIAEoBRINCgVMZXZlbBgDIAEo",
            "BRILCgNFeHAYBCABKAUiRQoWdGFibGVfQ2hhcmFjdGVyVXBncmFkZRIrCgRs",
            "aXN0GAEgAygLMh0ubm92YS5jbGllbnQuQ2hhcmFjdGVyVXBncmFkZSK2AQoV",
            "Q2hhcmFjdGVyVm9pY2VDb250cm9sEgoKAklkGAEgASgJEhMKC3Byb2JhYmls",
            "aXR5GAIgASgFEg8KB3Jlc1R5cGUYAyABKAUSEgoKY29tYmF0T25seRgEIAEo",
            "CBIXCg93b3JsZExldmVsVHlwZXMYBSADKAUSDgoGYnViYmxlGAYgASgIEgoK",
            "AmNkGAcgASgCEhAKCHZvUGxheWVyGAggASgFEhAKCHByaW9yaXR5GAkgASgF",
            "Ik8KG3RhYmxlX0NoYXJhY3RlclZvaWNlQ29udHJvbBIwCgRsaXN0GAEgAygL",
            "MiIubm92YS5jbGllbnQuQ2hhcmFjdGVyVm9pY2VDb250cm9sIjYKFENoYXJB",
            "ZmZpbml0eVRlbXBsYXRlEgoKAklkGAEgASgFEhIKClRlbXBsYXRlSWQYAiAB",
            "KAUiTQoadGFibGVfQ2hhckFmZmluaXR5VGVtcGxhdGUSLwoEbGlzdBgBIAMo",
            "CzIhLm5vdmEuY2xpZW50LkNoYXJBZmZpbml0eVRlbXBsYXRlIoABCglDaGFy",
            "R3JhZGUSDQoFR3JhZGUYASABKAUSFAoMRnJhZ21lbnRzUXR5GAIgASgFEhkK",
            "EUdlbmVyYWxGcmFnbWVudElkGAMgASgFEhgKEFN1YnN0aXR1dGVJdGVtSWQY",
            "BCABKAUSGQoRU3Vic3RpdHV0ZUl0ZW1RdHkYBSABKAUiNwoPdGFibGVfQ2hh",
            "ckdyYWRlEiQKBGxpc3QYASADKAsyFi5ub3ZhLmNsaWVudC5DaGFyR3JhZGUi",
            "OwoLQ2hhckl0ZW1FeHASCgoCSWQYASABKAUSDgoGSXRlbUlkGAIgASgFEhAK",
            "CEV4cFZhbHVlGAMgASgFIjsKEXRhYmxlX0NoYXJJdGVtRXhwEiYKBGxpc3QY",
            "ASADKAsyGC5ub3ZhLmNsaWVudC5DaGFySXRlbUV4cCLDAQoNQ2hhclBvdGVu",
            "dGlhbBIKCgJJZBgBIAEoBRIiChpNYXN0ZXJTcGVjaWZpY1BvdGVudGlhbElk",
            "cxgCIAMoBRIiChpBc3Npc3RTcGVjaWZpY1BvdGVudGlhbElkcxgDIAMoBRIa",
            "ChJDb21tb25Qb3RlbnRpYWxJZHMYBCADKAUSIAoYTWFzdGVyTm9ybWFsUG90",
            "ZW50aWFsSWRzGAUgAygFEiAKGEFzc2lzdE5vcm1hbFBvdGVudGlhbElkcxgG",
            "IAMoBSI/ChN0YWJsZV9DaGFyUG90ZW50aWFsEigKBGxpc3QYASADKAsyGi5u",
            "b3ZhLmNsaWVudC5DaGFyUG90ZW50aWFsIm0KEkNoYXJSYXJpdHlTZXF1ZW5j",
            "ZRIKCgJJZBgBIAEoBRINCgVHcmFkZRgCIAEoBRISCgpBZHZhbmNlTHZsGAMg",
            "ASgFEg8KB0x2TGltaXQYBCABKAUSFwoPV29ybGRDbGFzc0xpbWl0GAUgASgF",
            "IkkKGHRhYmxlX0NoYXJSYXJpdHlTZXF1ZW5jZRItCgRsaXN0GAEgAygLMh8u",
            "bm92YS5jbGllbnQuQ2hhclJhcml0eVNlcXVlbmNlIrcCCgRDaGF0EgoKAklk",
            "GAEgASgFEhUKDUFkZHJlc3NCb29rSWQYAiABKAUSDQoFQVZHSWQYAyABKAkS",
            "EgoKQVZHR3JvdXBJZBgEIAEoCRIRCglQcmVDaGF0SWQYBSABKAUSEAoIUHJp",
            "b3JpdHkYBiABKAUSEwoLVHJpZ2dlclR5cGUYByABKAUSEQoJQXV0b1BvcFVw",
            "GAggASgIEhMKC1RyaWdnZXJDb25kGAkgASgFEhgKEFRyaWdnZXJDb25kUGFy",
            "YW0YCiABKAkSDwoHUmV3YXJkMRgLIAEoBRISCgpSZXdhcmRRdHkxGAwgASgF",
            "Eg8KB1Jld2FyZDIYDSABKAUSEgoKUmV3YXJkUXR5MhgOIAEoBRIPCgdSZXdh",
            "cmQzGA8gASgFEhIKClJld2FyZFF0eTMYECABKAUiLQoKdGFibGVfQ2hhdBIf",
            "CgRsaXN0GAEgAygLMhEubm92YS5jbGllbnQuQ2hhdCKUAgoFQ2hlc3QSCgoC",
            "SWQYASABKAUSDQoFR3JvdXAYAiABKAUSDQoFTGFiZWwYAyABKAUSEAoITG93",
            "Rmxvb3IYBCABKAUSEQoJSGlnaEZsb29yGAUgASgFEhcKD1RudGVyYWN0aW9u",
            "VHlwZRgGIAEoBRIQCghBdXRvT3BlbhgHIAEoBRIRCglNb2RlbFBhdGgYCCAB",
            "KAkSDQoFSXRlbTEYCSABKAUSDwoHTnVtYmVyMRgKIAEoBRINCgVJdGVtMhgL",
            "IAEoBRIPCgdOdW1iZXIyGAwgASgFEg0KBUl0ZW0zGA0gASgFEg8KB051bWJl",
            "cjMYDiABKAUSDQoFSXRlbTQYDyABKAUSDwoHTnVtYmVyNBgQIAEoBSIvCgt0",
            "YWJsZV9DaGVzdBIgCgRsaXN0GAEgAygLMhIubm92YS5jbGllbnQuQ2hlc3Qi",
            "IwoGQ29uZmlnEgoKAklkGAEgASgJEg0KBVZhbHVlGAIgASgJIjEKDHRhYmxl",
            "X0NvbmZpZxIhCgRsaXN0GAEgAygLMhMubm92YS5jbGllbnQuQ29uZmlnIjwK",
            "C0NvbnRlbnRXb3JkEgoKAklkGAEgASgFEhMKC1ByZXNldENvbG9yGAIgASgJ",
            "EgwKBFdvcmQYAyABKAkiOwoRdGFibGVfQ29udGVudFdvcmQSJgoEbGlzdBgB",
            "IAMoCzIYLm5vdmEuY2xpZW50LkNvbnRlbnRXb3JkIsQDCg1EYWlseUluc3Rh",
            "bmNlEgoKAklkGAEgASgFEhEKCURhaWx5VHlwZRgCIAEoBRISCgpEaWZmaWN1",
            "bHR5GAMgASgFEgwKBE5hbWUYBCABKAkSDAoERGVzYxgFIAEoCRIWCg5TdWdn",
            "ZXN0ZWRQb3dlchgGIAEoBRISCgpQcmVMZXZlbElkGAcgASgFEhQKDFByZUxl",
            "dmVsU3RhchgIIAEoBRIWCg5OZWVkV29ybGRDbGFzcxgJIAEoBRIPCgdGbG9v",
            "cklkGAogASgFEhMKC09uZVN0YXJEZXNjGAsgASgJEhMKC1R3b1N0YXJEZXNj",
            "GAwgASgJEhUKDVRocmVlU3RhckRlc2MYDSABKAkSHAoUT25lU3RhckVuZXJn",
            "eUNvbnN1bWUYDiABKAUSHAoUVHdvU3RhckVuZXJneUNvbnN1bWUYDyABKAUS",
            "HgoWVGhyZWVTdGFyRW5lcmd5Q29uc3VtZRgQIAEoBRITCgtBd2FyZERyb3BJ",
            "ZBgRIAEoBRIdChVQcmV2aWV3TW9uc3Rlckdyb3VwSWQYEiABKAUSDAoESWNv",
            "bhgTIAEoCRIaChJGaXJzdFJld2FyZFByZXZpZXcYFCADKAUiPwoTdGFibGVf",
            "RGFpbHlJbnN0YW5jZRIoCgRsaXN0GAEgAygLMhoubm92YS5jbGllbnQuRGFp",
            "bHlJbnN0YW5jZSKPAwoSRGFpbHlJbnN0YW5jZUZsb29yEgoKAklkGAEgASgF",
            "EhEKCVNjZW5lTmFtZRgCIAEoCRIYChBDb25maWdQcmVmYWJOYW1lGAMgASgJ",
            "Eg0KBVRoZW1lGAQgASgFEgsKA0JHTRgFIAEoCRIZChFMZWF2ZVRyaWdnZXJF",
            "dmVudBgGIAEoCRIRCgltb25zdGVySWQYByABKAUSGAoQT25lU3RhckNvbmRp",
            "dGlvbhgIIAEoBRIYChBUd29TdGFyQ29uZGl0aW9uGAkgASgFEhoKElRocmVl",
            "U3RhckNvbmRpdGlvbhgKIAEoBRIWCg5MZXZlbFRvdGFsVGltZRgLIAEoBRIZ",
            "ChFUaW1lRW5kU2V0dGxlbWVudBgMIAEoCBIZChFTdGFyQ29uZGl0aW9uVHlw",
            "ZRgNIAEoBRIRCglNb25zdGVyTHYYDiABKAUSGQoRRHJvcEVudGl0eUdyb3Vw",
            "SWQYDyABKAUSFgoORHJvcEVudGl0eVJhdGUYECABKAUSEgoKRHJvcE1heE51",
            "bRgRIAEoBSJJChh0YWJsZV9EYWlseUluc3RhbmNlRmxvb3ISLQoEbGlzdBgB",
            "IAMoCzIfLm5vdmEuY2xpZW50LkRhaWx5SW5zdGFuY2VGbG9vciK1AQoYRGFp",
            "bHlJbnN0YW5jZVJld2FyZEdyb3VwEgoKAklkGAEgASgFEg8KB0dyb3VwSWQY",
            "AiABKAUSFwoPRGFpbHlSZXdhcmRUeXBlGAMgASgFEhIKClJld2FyZE5hbWUY",
            "BCABKAkSEQoJUmV3YXJkRGVzGAUgASgJEhIKClJld2FyZEljb24YBiABKAkS",
            "DgoGRHJvcElkGAcgASgFEhgKEEJhc2VBd2FyZFByZXZpZXcYCCABKAkiVQoe",
            "dGFibGVfRGFpbHlJbnN0YW5jZVJld2FyZEdyb3VwEjMKBGxpc3QYASADKAsy",
            "JS5ub3ZhLmNsaWVudC5EYWlseUluc3RhbmNlUmV3YXJkR3JvdXAimwEKEURh",
            "aWx5SW5zdGFuY2VUeXBlEgoKAklkGAEgASgFEgwKBE5hbWUYAiABKAkSEgoK",
            "TWFpbkxpbmVJZBgDIAEoBRIXCg9Xb3JsZENsYXNzTGV2ZWwYBCABKAUSDwoH",
            "RXBpc29kZRgFIAEoCRINCgVJbWFnZRgGIAEoCRIMCgRTb3J0GAcgASgFEhEK",
            "CUhvd1Jld2FyZBgIIAMoBSJHChd0YWJsZV9EYWlseUluc3RhbmNlVHlwZRIs",
            "CgRsaXN0GAEgAygLMh4ubm92YS5jbGllbnQuRGFpbHlJbnN0YW5jZVR5cGUi",
            "uAIKCkRhaWx5UXVlc3QSCgoCSWQYASABKAUSDQoFVGl0bGUYAiABKAkSDAoE",
            "RGVzYxgDIAEoCRIOCgZKdW1wVG8YBCABKAUSDQoFT3JkZXIYBSABKAUSDgoG",
            "QWN0aXZlGAYgASgFEg0KBUFwZWFyGAcgASgIEhUKDUFjY2VwdFBhcmFtczIY",
            "CCABKAkSFAoMQ29tcGxldGVDb25kGAkgASgFEhoKEkNvbXBsZXRlQ29uZFBh",
            "cmFtcxgKIAEoCRIaChJDb21wbGV0ZUNvbmRDbGllbnQYCyABKAUSHQoVQ2xp",
            "ZW50Q29tcGxldGVQYXJhbXMxGAwgAygFEh0KFUNsaWVudENvbXBsZXRlUGFy",
            "YW1zMhgNIAMoBRIPCgdJdGVtVGlkGA4gASgFEg8KB0l0ZW1RdHkYDyABKAUi",
            "OQoQdGFibGVfRGFpbHlRdWVzdBIlCgRsaXN0GAEgAygLMhcubm92YS5jbGll",
            "bnQuRGFpbHlRdWVzdCJ0ChBEYWlseVF1ZXN0QWN0aXZlEgoKAklkGAEgASgF",
            "Eg4KBkFjdGl2ZRgCIAEoBRIQCghJdGVtVGlkMRgDIAEoBRIPCgdOdW1iZXIx",
            "GAQgASgFEhAKCEl0ZW1UaWQyGAUgASgFEg8KB051bWJlcjIYBiABKAUiRQoW",
            "dGFibGVfRGFpbHlRdWVzdEFjdGl2ZRIrCgRsaXN0GAEgAygLMh0ubm92YS5j",
            "bGllbnQuRGFpbHlRdWVzdEFjdGl2ZSKWAQoPRGFpbHlRdWVzdEF3YXJkEgoK",
            "AklkGAEgASgFEg0KBVRpdGxlGAIgASgJEhEKCU5lZWRQb2ludBgDIAEoBRIP",
            "CgdOdW1TaG93GAQgASgFEhAKCEl0ZW1UaWQxGAUgASgFEg8KB051bWJlcjEY",
            "BiABKAUSEAoISXRlbVRpZDIYByABKAUSDwoHTnVtYmVyMhgIIAEoBSJDChV0",
            "YWJsZV9EYWlseVF1ZXN0QXdhcmQSKgoEbGlzdBgBIAMoCzIcLm5vdmEuY2xp",
            "ZW50LkRhaWx5UXVlc3RBd2FyZCKEAQoSRGF0aW5nQ2hhclJlc3BvbnNlEgoK",
            "AklkGAEgASgFEg4KBkNoYXJJZBgCIAEoBRIMCgRUeXBlGAMgASgJEhAKCFZv",
            "aWNlS2V5GAQgASgJEg4KBkFjdGlvbhgFIAEoCRINCgVXb3JkcxgGIAEoCRIT",
            "CgtCdWJibGVFbW9qaRgHIAEoCSJJChh0YWJsZV9EYXRpbmdDaGFyUmVzcG9u",
            "c2USLQoEbGlzdBgBIAMoCzIfLm5vdmEuY2xpZW50LkRhdGluZ0NoYXJSZXNw",
            "b25zZSL9AQoLRGF0aW5nRXZlbnQSCgoCSWQYASABKAUSFwoPRGF0aW5nRXZl",
            "bnRUeXBlGAIgASgFEhkKEURhdGluZ0V2ZW50UGFyYW1zGAMgAygFEhAKCE11",
            "dGV4VGFnGAQgASgFEg8KB1NvcnRUYWcYBSABKAUSEAoIQWZmaW5pdHkYBiAB",
            "KAUSDgoGUmV3YXJkGAcgAygFEg0KBURlc2MxGAggASgJEg0KBURlc2MyGAkg",
            "ASgJEg0KBURlc2MzGAogASgJEhAKCFJlc3BvbnNlGAsgASgJEgwKBE5hbWUY",
            "DCABKAkSDAoEQ2x1ZRgNIAEoCRIOCgZNZW1vcnkYDiABKAkiOwoRdGFibGVf",
            "RGF0aW5nRXZlbnQSJgoEbGlzdBgBIAMoCzIYLm5vdmEuY2xpZW50LkRhdGlu",
            "Z0V2ZW50IlIKDkRhdGluZ0xhbmRtYXJrEgoKAklkGAEgASgFEgwKBE5hbWUY",
            "AiABKAkSDAoERGVzYxgDIAEoCRIMCgRJY29uGAQgASgJEgoKAkJnGAUgASgJ",
            "IkEKFHRhYmxlX0RhdGluZ0xhbmRtYXJrEikKBGxpc3QYASADKAsyGy5ub3Zh",
            "LmNsaWVudC5EYXRpbmdMYW5kbWFyayJtCg1EZXN0cm95T2JqZWN0EgoKAklk",
            "GAEgASgFEgwKBE5hbWUYAiABKAkSCgoCTHYYAyABKAUSEwoLQXR0cmlidXRl",
            "SWQYBCABKAkSEAoIVGVtcGxldGUYBSABKAUSDwoHRmFjdGlvbhgGIAEoBSI/",
            "ChN0YWJsZV9EZXN0cm95T2JqZWN0EigKBGxpc3QYASADKAsyGi5ub3ZhLmNs",
            "aWVudC5EZXN0cm95T2JqZWN0IkoKEURpY3Rpb25hcnlEaWFncmFtEgoKAklk",
            "GAEgASgFEg0KBVRpdGxlGAIgASgJEgwKBERlc2MYAyABKAkSDAoESWNvbhgE",
            "IAEoCSJHChd0YWJsZV9EaWN0aW9uYXJ5RGlhZ3JhbRIsCgRsaXN0GAEgAygL",
            "Mh4ubm92YS5jbGllbnQuRGljdGlvbmFyeURpYWdyYW0ilwEKD0RpY3Rpb25h",
            "cnlFbnRyeRIKCgJJZBgBIAEoBRINCgVJbmRleBgCIAEoBRINCgVUaXRsZRgD",
            "IAEoCRILCgNUYWIYBCABKAUSDgoGSXRlbUlkGAUgASgFEgsKA1F0eRgGIAEo",
            "BRITCgtEaWFncmFtTGlzdBgHIAMoBRIMCgRTb3J0GAggASgFEg0KBVBvcHVw",
            "GAkgASgIIkMKFXRhYmxlX0RpY3Rpb25hcnlFbnRyeRIqCgRsaXN0GAEgAygL",
            "Mhwubm92YS5jbGllbnQuRGljdGlvbmFyeUVudHJ5ImAKDURpY3Rpb25hcnlU",
            "YWISDQoFVGFiSWQYASABKAUSDAoESWNvbhgCIAEoCRINCgVJY29uMhgDIAEo",
            "CRINCgVUaXRsZRgEIAEoCRIUCgxIaWRlSW5CYXR0bGUYBSABKAgiPwoTdGFi",
            "bGVfRGljdGlvbmFyeVRhYhIoCgRsaXN0GAEgAygLMhoubm92YS5jbGllbnQu",
            "RGljdGlvbmFyeVRhYiJHChVEaWN0aW9uYXJ5VG9wQmFyRW50cnkSCgoCSWQY",
            "ASABKAUSDQoFVGl0bGUYAiABKAkSEwoLRGlhZ3JhbUxpc3QYAyADKAUiTwob",
            "dGFibGVfRGljdGlvbmFyeVRvcEJhckVudHJ5EjAKBGxpc3QYASADKAsyIi5u",
            "b3ZhLmNsaWVudC5EaWN0aW9uYXJ5VG9wQmFyRW50cnki1QQKBERpc2MSCgoC",
            "SWQYASABKAUSCwoDRUVUGAIgASgFEgwKBFRhZ3MYAyADKAUSDwoHVmlzaWJs",
            "ZRgEIAEoCBIRCglBdmFpbGFibGUYBSABKAgSDQoFSW1hZ2UYBiABKAkSDAoE",
            "Tm90ZRgHIAMoBRIOCgZEaXNjQmcYCCABKAkSDAoEQ2FyZBgJIAEoCRIPCgdH",
            "YWNoYUJnGAogASgJEhkKEVN0cmVuZ3RoZW5Hcm91cElkGAsgASgFEhcKD0F0",
            "dHJCYXNlR3JvdXBJZBgMIAEoBRIWCg5Qcm9tb3RlR3JvdXBJZBgNIAEoBRIX",
            "Cg9UcmFuc2Zvcm1JdGVtSWQYDiABKAUSHAoUTWF4U3RhclRyYW5zZm9ybUl0",
            "ZW0YDyADKAUSGwoTUGFzc2l2ZVNraWxsR3JvdXBJZBgQIAEoBRIWCg5Db21t",
            "b25Ta2lsbElkMRgRIAEoBRIWCg5Db21tb25Ta2lsbElkMhgSIAEoBRISCgpS",
            "ZWFkUmV3YXJkGBMgAygFEg4KBlZvRmlsZRgUIAEoCRIQCghWb0JlZ2luMRgV",
            "IAEoAhIPCgdWb0xvb3AxGBYgASgCEg8KB1ZvTmFtZTEYFyABKAkSEAoIVm9C",
            "ZWdpbjIYGCABKAISDwoHVm9Mb29wMhgZIAEoAhIPCgdWb05hbWUyGBogASgJ",
            "Eg8KB1ZvU3RvcnkYGyABKAkSEQoJU3RvcnlOYW1lGBwgASgJEhEKCVN0b3J5",
            "RGVzYxgdIAEoCRIOCgZDaGFySWQYHiABKAUSEwoLU2tpbGxTY3JpcHQYHyAB",
            "KAkiLQoKdGFibGVfRGlzYxIfCgRsaXN0GAEgAygLMhEubm92YS5jbGllbnQu",
            "RGlzYyK5AwoPRGlzY0NvbW1vblNraWxsEgoKAklkGAEgASgFEhYKDkFjdGl2",
            "ZU5vdGVUeXBlGAIgAygFEhUKDUFjdGl2ZU5vdGVOdW0YAyADKAUSEQoJRWZm",
            "ZWN0SWQxGAQgAygFEhEKCUVmZmVjdElkMhgFIAMoBRIRCglFZmZlY3RJZDMY",
            "BiADKAUSEQoJRWZmZWN0SWQ0GAcgAygFEhEKCUVmZmVjdElkNRgIIAMoBRIR",
            "CglFZmZlY3RJZDYYCSADKAUSEQoJRWZmZWN0SWQ3GAogAygFEhEKCUVmZmVj",
            "dElkOBgLIAMoBRIRCglFZmZlY3RJZDkYDCADKAUSEgoKRWZmZWN0SWQxMBgN",
            "IAMoBRISCgpMYXllclNjb3JlGA4gAygFEgwKBE5hbWUYDyABKAkSDAoESWNv",
            "bhgQIAEoCRIOCgZJY29uQmcYESABKAkSDAoERGVzYxgSIAEoCRIOCgZQYXJh",
            "bTEYEyADKAkSDgoGUGFyYW0yGBQgAygJEg4KBlBhcmFtMxgVIAMoCRIOCgZQ",
            "YXJhbTQYFiADKAkSDgoGUGFyYW01GBcgAygJEg4KBlBhcmFtNhgYIAMoCSJD",
            "ChV0YWJsZV9EaXNjQ29tbW9uU2tpbGwSKgoEbGlzdBgBIAMoCzIcLm5vdmEu",
            "Y2xpZW50LkRpc2NDb21tb25Ta2lsbCI2CgtEaXNjSXRlbUV4cBIKCgJJZBgB",
            "IAEoBRIOCgZJdGVtSWQYAiABKAUSCwoDRXhwGAMgASgFIjsKEXRhYmxlX0Rp",
            "c2NJdGVtRXhwEiYKBGxpc3QYASADKAsyGC5ub3ZhLmNsaWVudC5EaXNjSXRl",
            "bUV4cCKXBAoQRGlzY1Bhc3NpdmVTa2lsbBIKCgJJZBgBIAEoBRIPCgdHcm91",
            "cElkGAIgASgFEg0KBUxldmVsGAMgASgFEg0KBUJyZWFrGAQgASgFEhAKCE1h",
            "aW5Ob3RlGAUgASgFEhQKDEFjdGl2ZVBhcmFtMRgGIAEoCRIRCglFZmZlY3RJ",
            "ZDEYByADKAUSFAoMQWN0aXZlUGFyYW0yGAggASgJEhEKCUVmZmVjdElkMhgJ",
            "IAMoBRIUCgxBY3RpdmVQYXJhbTMYCiABKAkSEQoJRWZmZWN0SWQzGAsgAygF",
            "EhQKDEFjdGl2ZVBhcmFtNBgMIAEoCRIRCglFZmZlY3RJZDQYDSADKAUSFAoM",
            "QWN0aXZlUGFyYW01GA4gASgJEhEKCUVmZmVjdElkNRgPIAMoBRISCgpMYXll",
            "clNjb3JlGBAgAygFEgwKBE5hbWUYESABKAkSDAoESWNvbhgSIAEoCRIOCgZJ",
            "Y29uQmcYEyABKAkSDQoFRGVzYzEYFCABKAkSDQoFRGVzYzIYFSABKAkSDQoF",
            "RGVzYzMYFiABKAkSDQoFRGVzYzQYFyABKAkSDQoFRGVzYzUYGCABKAkSDgoG",
            "UGFyYW0xGBkgASgJEg4KBlBhcmFtMhgaIAEoCRIOCgZQYXJhbTMYGyABKAkS",
            "DgoGUGFyYW00GBwgASgJEg4KBlBhcmFtNRgdIAEoCRIOCgZQYXJhbTYYHiAB",
            "KAkiRQoWdGFibGVfRGlzY1Bhc3NpdmVTa2lsbBIrCgRsaXN0GAEgAygLMh0u",
            "bm92YS5jbGllbnQuRGlzY1Bhc3NpdmVTa2lsbCKqAQoLRGlzY1Byb21vdGUS",
            "CgoCSWQYASABKAUSDwoHSXRlbUlkMRgCIAEoBRIMCgROdW0xGAMgASgFEg8K",
            "B0l0ZW1JZDIYBCABKAUSDAoETnVtMhgFIAEoBRIPCgdJdGVtSWQzGAYgASgF",
            "EgwKBE51bTMYByABKAUSDwoHSXRlbUlkNBgIIAEoBRIMCgROdW00GAkgASgF",
            "EhMKC0V4cGVuc2VHb2xkGAogASgFIjsKEXRhYmxlX0Rpc2NQcm9tb3RlEiYK",
            "BGxpc3QYASADKAsyGC5ub3ZhLmNsaWVudC5EaXNjUHJvbW90ZSJPChBEaXNj",
            "UHJvbW90ZUxpbWl0EgoKAklkGAEgASgFEg4KBlJhcml0eRgCIAEoBRINCgVQ",
            "aGFzZRgDIAEoCRIQCghNYXhMZXZlbBgEIAEoCSJFChZ0YWJsZV9EaXNjUHJv",
            "bW90ZUxpbWl0EisKBGxpc3QYASADKAsyHS5ub3ZhLmNsaWVudC5EaXNjUHJv",
            "bW90ZUxpbWl0IikKDkRpc2NTdHJlbmd0aGVuEgoKAklkGAEgASgFEgsKA0V4",
            "cBgCIAEoBSJBChR0YWJsZV9EaXNjU3RyZW5ndGhlbhIpCgRsaXN0GAEgAygL",
            "Mhsubm92YS5jbGllbnQuRGlzY1N0cmVuZ3RoZW4iJAoHRGlzY1RhZxIKCgJJ",
            "ZBgBIAEoBRINCgVUaXRsZRgCIAEoCSIzCg10YWJsZV9EaXNjVGFnEiIKBGxp",
            "c3QYASADKAsyFC5ub3ZhLmNsaWVudC5EaXNjVGFnIiUKBERyb3ASDgoGRHJv",
            "cElkGAEgASgFEg0KBVBrZ0lkGAIgASgFIi0KCnRhYmxlX0Ryb3ASHwoEbGlz",
            "dBgBIAMoCzIRLm5vdmEuY2xpZW50LkRyb3AiPwoMRHJvcEl0ZW1TaG93Eg4K",
            "BkRyb3BJZBgBIAEoBRIOCgZJdGVtSWQYAiABKAUSDwoHSXRlbVF0eRgDIAEo",
            "BSI9ChJ0YWJsZV9Ecm9wSXRlbVNob3cSJwoEbGlzdBgBIAMoCzIZLm5vdmEu",
            "Y2xpZW50LkRyb3BJdGVtU2hvdyIvCgpEcm9wT2JqZWN0EgoKAklkGAEgASgF",
            "EhUKDURyb3BPYmplY3RSZXMYAiABKAkiOQoQdGFibGVfRHJvcE9iamVjdBIl",
            "CgRsaXN0GAEgAygLMhcubm92YS5jbGllbnQuRHJvcE9iamVjdCJSCg9Ecm9w",
            "T2JqZWN0R3JvdXASGQoRRHJvcE9iamVjdEdyb3VwSWQYASABKAUSFAoMRHJv",
            "cE9iamVjdElkGAIgASgFEg4KBndlaWdodBgDIAEoBSJDChV0YWJsZV9Ecm9w",
            "T2JqZWN0R3JvdXASKgoEbGlzdBgBIAMoCzIcLm5vdmEuY2xpZW50LkRyb3BP",
            "YmplY3RHcm91cCIoCgdEcm9wUGtnEg0KBVBrZ0lkGAEgASgFEg4KBkl0ZW1J",
            "ZBgCIAEoBSIzCg10YWJsZV9Ecm9wUGtnEiIKBGxpc3QYASADKAsyFC5ub3Zh",
            "LmNsaWVudC5Ecm9wUGtnIqQICgZFZmZlY3QSCgoCSWQYASABKAUSDAoETmFt",
            "ZRgCIAEoCRIVCg1sZXZlbFR5cGVEYXRhGAMgASgFEhEKCUxldmVsRGF0YRgE",
            "IAEoBRIVCg1NYWluT3JTdXBwb3J0GAUgASgFEg8KB1RyaWdnZXIYBiABKAUS",
            "FQoNVHJpZ2dlclRhcmdldBgHIAEoBRIZChFUcmlnZ2VyQ29uZGl0aW9uMRgI",
            "IAEoBRIVCg1UcmlnZ2VyUGFyYW0xGAkgASgJEhUKDVRyaWdnZXJQYXJhbTIY",
            "CiABKAkSFQoNVHJpZ2dlclBhcmFtMxgLIAEoCRIVCg1UcmlnZ2VyUGFyYW00",
            "GAwgASgJEhYKDlRyaWdnZXJUYXJnZXQyGA0gASgFEhkKEVRyaWdnZXJDb25k",
            "aXRpb24yGA4gASgFEhYKDlRyaWdnZXIyUGFyYW0xGA8gASgJEhYKDlRyaWdn",
            "ZXIyUGFyYW0yGBAgASgJEhYKDlRyaWdnZXIyUGFyYW0zGBEgASgJEhYKDlRy",
            "aWdnZXIyUGFyYW00GBIgASgJEhgKEFRyaWdnZXJMb2dpY1R5cGUYEyABKAUS",
            "GQoRVGFrZUVmZmVjdFRhcmdldDEYFCABKAUSHAoUVGFrZUVmZmVjdENvbmRp",
            "dGlvbjEYFSABKAUSGAoQVGFrZUVmZmVjdFBhcmFtMRgWIAEoCRIYChBUYWtl",
            "RWZmZWN0UGFyYW0yGBcgASgJEhgKEFRha2VFZmZlY3RQYXJhbTMYGCABKAkS",
            "GAoQVGFrZUVmZmVjdFBhcmFtNBgZIAEoCRIZChFUYWtlRWZmZWN0VGFyZ2V0",
            "MhgaIAEoBRIcChRUYWtlRWZmZWN0Q29uZGl0aW9uMhgbIAEoBRIZChFUYWtl",
            "RWZmZWN0MlBhcmFtMRgcIAEoCRIZChFUYWtlRWZmZWN0MlBhcmFtMhgdIAEo",
            "CRIZChFUYWtlRWZmZWN0MlBhcmFtMxgeIAEoCRIZChFUYWtlRWZmZWN0MlBh",
            "cmFtNBgfIAEoCRIbChNUYWtlRWZmZWN0TG9naWNUeXBlGCAgASgFEg8KB1Rh",
            "cmdldDEYISABKAUSGAoQVGFyZ2V0Q29uZGl0aW9uMRgiIAEoBRIUCgxUYXJn",
            "ZXRQYXJhbTEYIyABKAkSFAoMVGFyZ2V0UGFyYW0yGCQgASgJEhQKDFRhcmdl",
            "dFBhcmFtMxglIAEoCRIUCgxUYXJnZXRQYXJhbTQYJiABKAkSGAoQVGFyZ2V0",
            "Q29uZGl0aW9uMhgnIAEoBRIVCg1UYXJnZXQyUGFyYW0xGCggASgJEhUKDVRh",
            "cmdldDJQYXJhbTIYKSABKAkSFQoNVGFyZ2V0MlBhcmFtMxgqIAEoCRIVCg1U",
            "YXJnZXQyUGFyYW00GCsgASgJEhcKD0ZpbHRlckxvZ2ljVHlwZRgsIAEoBSIx",
            "Cgx0YWJsZV9FZmZlY3QSIQoEbGlzdBgBIAMoCzITLm5vdmEuY2xpZW50LkVm",
            "ZmVjdCKzAQoKRWZmZWN0RGVzYxIKCgJJZBgBIAEoBRIOCgZUeXBlSUQYAiAB",
            "KAUSDwoHVHlwZTJJRBgDIAEoBRIMCgREZXNjGAQgASgJEhYKDlJhbmRvbUF0",
            "dHJEZXNjGAUgASgJEhEKCUF0dHJpYnV0ZRgGIAEoCRIOCgZXb3JkSUQYByAB",
            "KAUSEQoJaXNQZXJjZW50GAggASgIEgwKBEljb24YCSABKAkSDgoGRm9ybWF0",
            "GAogASgFIjkKEHRhYmxlX0VmZmVjdERlc2MSJQoEbGlzdBgBIAMoCzIXLm5v",
            "dmEuY2xpZW50LkVmZmVjdERlc2MiiAMKC0VmZmVjdFZhbHVlEgoKAklkGAEg",
            "ASgFEgwKBE5hbWUYAiABKAkSCwoDVGFnGAMgASgJEhcKD1Rha2VFZmZlY3RM",
            "aW1pdBgEIAEoBRIOCgZSZW1vdmUYBSABKAgSCgoCQ0QYBiABKAUSEgoKRWZm",
            "ZWN0UmF0ZRgHIAEoBRISCgpFZmZlY3RUeXBlGAggASgFEh4KFkVmZmVjdFR5",
            "cGVGaXJzdFN1YnR5cGUYCSABKAUSHwoXRWZmZWN0VHlwZVNlY29uZFN1YnR5",
            "cGUYCiABKAUSGAoQRWZmZWN0VHlwZVBhcmFtMRgLIAEoCRIYChBFZmZlY3RU",
            "eXBlUGFyYW0yGAwgASgJEhgKEEVmZmVjdFR5cGVQYXJhbTMYDSABKAkSGAoQ",
            "RWZmZWN0VHlwZVBhcmFtNBgOIAEoCRIYChBFZmZlY3RUeXBlUGFyYW01GA8g",
            "ASgJEhgKEEVmZmVjdFR5cGVQYXJhbTYYECABKAkSGAoQRWZmZWN0VHlwZVBh",
            "cmFtNxgRIAEoCSI7ChF0YWJsZV9FZmZlY3RWYWx1ZRImCgRsaXN0GAEgAygL",
            "Mhgubm92YS5jbGllbnQuRWZmZWN0VmFsdWUiTAoMRW5kU2NlbmVUeXBlEgoK",
            "AklkGAEgASgFEg0KBVRoZW1lGAIgASgFEhQKDEVuZFNjZW5lTmFtZRgDIAEo",
            "CRILCgNCR00YBCABKAkiPQoSdGFibGVfRW5kU2NlbmVUeXBlEicKBGxpc3QY",
            "ASADKAsyGS5ub3ZhLmNsaWVudC5FbmRTY2VuZVR5cGUiXQoJRW5lcmd5QnV5",
            "EgoKAklkGAEgASgFEhYKDkN1cnJlbmN5SXRlbUlkGAIgASgFEhcKD0N1cnJl",
            "bmN5SXRlbVF0eRgDIAEoBRITCgtFbmVyZ3lWYWx1ZRgEIAEoBSI3Cg90YWJs",
            "ZV9FbmVyZ3lCdXkSJAoEbGlzdBgBIAMoCzIWLm5vdmEuY2xpZW50LkVuZXJn",
            "eUJ1eSI4CghFbnVtRGVzYxIQCghFbnVtTmFtZRgBIAEoCRINCgVWYWx1ZRgC",
            "IAEoBRILCgNLZXkYAyABKAkiNQoOdGFibGVfRW51bURlc2MSIwoEbGlzdBgB",
            "IAMoCzIVLm5vdmEuY2xpZW50LkVudW1EZXNjIpoCCglFcXVpcG1lbnQSCgoC",
            "SWQYASABKAUSDAoETmFtZRgCIAEoCRIVCg1FcXVpcG1lbnRUeXBlGAMgASgF",
            "EhMKC0F0dHJHcm91cElkGAQgASgFEhIKCkV4cEdyb3VwSWQYBSABKAUSEAoI",
            "TWF4TGV2ZWwYBiABKAUSFwoPUmFuZG9tQXR0ckNvdW50GAcgASgFEhgKEEF0",
            "dHIxVW5sb2NrTGV2ZWwYCCABKAUSGAoQQXR0cjJVbmxvY2tMZXZlbBgJIAEo",
            "BRIYChBBdHRyM1VubG9ja0xldmVsGAogASgFEhgKEEF0dHI0VW5sb2NrTGV2",
            "ZWwYCyABKAUSEgoKUHJvdmlkZUV4cBgMIAEoBRIMCgRJY29uGA0gASgJIjcK",
            "D3RhYmxlX0VxdWlwbWVudBIkCgRsaXN0GAEgAygLMhYubm92YS5jbGllbnQu",
            "RXF1aXBtZW50ImIKEUVxdWlwbWVudEdyb3VwRXhwEgoKAklkGAEgASgFEg8K",
            "B0dyb3VwSWQYAiABKAUSDQoFTGV2ZWwYAyABKAUSDwoHTmVlZEV4cBgEIAEo",
            "BRIQCghUb3RhbEV4cBgFIAEoBSJHChd0YWJsZV9FcXVpcG1lbnRHcm91cEV4",
            "cBIsCgRsaXN0GAEgAygLMh4ubm92YS5jbGllbnQuRXF1aXBtZW50R3JvdXBF",
            "eHAitQMKEUVxdWlwbWVudEluc3RhbmNlEgoKAklkGAEgASgFEhUKDUVxdWlw",
            "bWVudFR5cGUYAiABKAUSEgoKRGlmZmljdWx0eRgDIAEoBRIMCgROYW1lGAQg",
            "ASgJEgwKBERlc2MYBSABKAkSFgoOU3VnZ2VzdGVkUG93ZXIYBiABKAUSEgoK",
            "UHJlTGV2ZWxJZBgHIAEoBRIUCgxQcmVMZXZlbFN0YXIYCCABKAUSFgoOTmVl",
            "ZFdvcmxkQ2xhc3MYCSABKAUSDwoHRmxvb3JJZBgKIAEoBRITCgtPbmVTdGFy",
            "RGVzYxgLIAEoCRITCgtUd29TdGFyRGVzYxgMIAEoCRIVCg1UaHJlZVN0YXJE",
            "ZXNjGA0gASgJEhwKFE9uZVN0YXJFbmVyZ3lDb25zdW1lGA4gASgFEhwKFFR3",
            "b1N0YXJFbmVyZ3lDb25zdW1lGA8gASgFEh4KFlRocmVlU3RhckVuZXJneUNv",
            "bnN1bWUYECABKAUSGAoQQmFzZUF3YXJkUHJldmlldxgRIAEoCRIdChVQcmV2",
            "aWV3TW9uc3Rlckdyb3VwSWQYEiABKAUSDAoESWNvbhgTIAEoCSJHChd0YWJs",
            "ZV9FcXVpcG1lbnRJbnN0YW5jZRIsCgRsaXN0GAEgAygLMh4ubm92YS5jbGll",
            "bnQuRXF1aXBtZW50SW5zdGFuY2UikwMKFkVxdWlwbWVudEluc3RhbmNlRmxv",
            "b3ISCgoCSWQYASABKAUSEQoJU2NlbmVOYW1lGAIgASgJEhgKEENvbmZpZ1By",
            "ZWZhYk5hbWUYAyABKAkSDQoFVGhlbWUYBCABKAUSCwoDQkdNGAUgASgJEhkK",
            "EUxlYXZlVHJpZ2dlckV2ZW50GAYgASgJEhEKCW1vbnN0ZXJJZBgHIAEoBRIY",
            "ChBPbmVTdGFyQ29uZGl0aW9uGAggASgFEhgKEFR3b1N0YXJDb25kaXRpb24Y",
            "CSABKAUSGgoSVGhyZWVTdGFyQ29uZGl0aW9uGAogASgFEhYKDkxldmVsVG90",
            "YWxUaW1lGAsgASgFEhkKEVRpbWVFbmRTZXR0bGVtZW50GAwgASgIEhkKEVN0",
            "YXJDb25kaXRpb25UeXBlGA0gASgFEhEKCU1vbnN0ZXJMdhgOIAEoBRIZChFE",
            "cm9wT2JqZWN0R3JvdXBJZBgPIAEoBRIWCg5Ecm9wT2JqZWN0UmF0ZRgQIAEo",
            "BRISCgpEcm9wTWF4TnVtGBEgASgFIlEKHHRhYmxlX0VxdWlwbWVudEluc3Rh",
            "bmNlRmxvb3ISMQoEbGlzdBgBIAMoCzIjLm5vdmEuY2xpZW50LkVxdWlwbWVu",
            "dEluc3RhbmNlRmxvb3Ii0gEKFUVxdWlwbWVudEluc3RhbmNlVHlwZRIKCgJJ",
            "ZBgBIAEoBRIMCgROYW1lGAIgASgJEhIKCk1haW5MaW5lSWQYAyABKAUSFwoP",
            "V29ybGRDbGFzc0xldmVsGAQgASgFEg8KB09wZW5EYXkYBSADKAUSEwoLT3Bl",
            "bkRheURlc2MYBiABKAkSDwoHRXBpc29kZRgHIAEoCRINCgVJbWFnZRgIIAEo",
            "CRIMCgRTb3J0GAkgASgFEhEKCUhvd1Jld2FyZBgKIAMoBRILCgNFRVQYCyAD",
            "KAUiTwobdGFibGVfRXF1aXBtZW50SW5zdGFuY2VUeXBlEjAKBGxpc3QYASAD",
            "KAsyIi5ub3ZhLmNsaWVudC5FcXVpcG1lbnRJbnN0YW5jZVR5cGUiOwoQRXF1",
            "aXBtZW50SXRlbUV4cBIKCgJJZBgBIAEoBRIOCgZJdGVtSWQYAiABKAUSCwoD",
            "RXhwGAMgASgFIkUKFnRhYmxlX0VxdWlwbWVudEl0ZW1FeHASKwoEbGlzdBgB",
            "IAMoCzIdLm5vdmEuY2xpZW50LkVxdWlwbWVudEl0ZW1FeHAitgEKGEVxdWlw",
            "bWVudFJhbmRvbUF0dHJpYnV0ZRIKCgJJZBgBIAEoBRITCgtFbGVtZW50VHlw",
            "ZRgCIAEoBRIVCg1BdHRyR3JvdXBUeXBlGAMgASgFEhMKC0F0dHJWYWx1ZUlk",
            "GAQgASgFEhAKCEF0dHJUeXBlGAUgASgFEhwKFEF0dHJUeXBlRmlyc3RTdWJ0",
            "eXBlGAYgASgFEh0KFUF0dHJUeXBlU2Vjb25kU3VidHlwZRgHIAEoBSJVCh50",
            "YWJsZV9FcXVpcG1lbnRSYW5kb21BdHRyaWJ1dGUSMwoEbGlzdBgBIAMoCzIl",
            "Lm5vdmEuY2xpZW50LkVxdWlwbWVudFJhbmRvbUF0dHJpYnV0ZSJKCglFcnJv",
            "ckNvZGUSCgoCSWQYASABKAUSDQoFVGl0bGUYAiABKAkSEAoIVGVtcGxhdGUY",
            "AyABKAkSEAoIU2hvd1R5cGUYBCABKAUiNwoPdGFibGVfRXJyb3JDb2RlEiQK",
            "BGxpc3QYASADKAsyFi5ub3ZhLmNsaWVudC5FcnJvckNvZGUiQwoMRXZlbnRP",
            "cHRpb25zEgoKAklkGAEgASgFEgwKBERlc2MYAiABKAkSGQoRSWdub3JlSW50",
            "ZXJBY3RpdmUYAyABKAgiPQoSdGFibGVfRXZlbnRPcHRpb25zEicKBGxpc3QY",
            "ASADKAsyGS5ub3ZhLmNsaWVudC5FdmVudE9wdGlvbnMiOwoRRXZlbnRPcHRp",
            "b25zUnVsZXMSCgoCSWQYASABKAUSDAoETmFtZRgCIAEoCRIMCgREZXNjGAMg",
            "ASgJIkcKF3RhYmxlX0V2ZW50T3B0aW9uc1J1bGVzEiwKBGxpc3QYASADKAsy",
            "Hi5ub3ZhLmNsaWVudC5FdmVudE9wdGlvbnNSdWxlcyKIAQoLRXZlbnRSZXN1",
            "bHQSCgoCSWQYASABKAUSDwoHRWZmZWN0MRgCIAEoBRISCgpQYXJhbWV0ZXIx",
            "GAMgAygFEg8KB0VmZmVjdDIYBCABKAUSEgoKUGFyYW1ldGVyMhgFIAMoBRIP",
            "CgdFZmZlY3QzGAYgASgFEhIKClBhcmFtZXRlcjMYByADKAUiOwoRdGFibGVf",
            "RXZlbnRSZXN1bHQSJgoEbGlzdBgBIAMoCzIYLm5vdmEuY2xpZW50LkV2ZW50",
            "UmVzdWx0IjoKD0ZhY3Rpb25SZWxhdGlvbhIKCgJJZBgBIAEoBRIbChNGYWN0",
            "aW9uUmVsYXRpb25TaGlwGAIgAygFIkMKFXRhYmxlX0ZhY3Rpb25SZWxhdGlv",
            "bhIqCgRsaXN0GAEgAygLMhwubm92YS5jbGllbnQuRmFjdGlvblJlbGF0aW9u",
            "IoEDCghGYXRlQ2FyZBIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEgwKBERl",
            "c2MYAyABKAkSDQoFRGVzYzIYBCABKAkSDwoHSXNUb3dlchgFIAEoCBIRCglJ",
            "c1ZhbXBpcmUYBiABKAgSGAoQSXNWYW1waXJlU3BlY2lhbBgHIAEoCBIUCgxB",
            "Y3RpdmVOdW1iZXIYCCABKAUSEAoIRHVyYXRpb24YCSABKAUSFwoPQWN0aXZl",
            "Um9vbVR5cGVzGAogAygFEhQKDEFjdGl2ZUFjdGlvbhgLIAEoBRISCgpNZXRo",
            "b2RNb2RlGAwgASgFEhQKDENsaWVudEVmZmVjdBgNIAEoBRINCgVDb3VudBgO",
            "IAEoBRIRCglUaGVtZVR5cGUYDyABKAUSEgoKVGhlbWVWYWx1ZRgQIAEoBRIY",
            "ChBUaGVtZVRyaWdnZXJUeXBlGBEgAygFEhwKFEVmZmVjdGl2ZUltbWVkaWF0",
            "ZWx5GBIgASgIEhEKCVJlbW92YWJsZRgTIAEoCCI1Cg50YWJsZV9GYXRlQ2Fy",
            "ZBIjCgRsaXN0GAEgAygLMhUubm92YS5jbGllbnQuRmF0ZUNhcmQiXAoJRmxv",
            "b3JCdWZmEgoKAklkGAEgASgFEg8KB0FkZENhbXAYAiADKAUSEAoIQWRkQ2xh",
            "c3MYAyADKAUSEAoIRWZmZWN0SWQYBCADKAUSDgoGQnVmZklkGAUgAygFIjcK",
            "D3RhYmxlX0Zsb29yQnVmZhIkCgRsaXN0GAEgAygLMhYubm92YS5jbGllbnQu",
            "Rmxvb3JCdWZmIlMKBUZvcmNlEgoKAklkGAEgASgFEg0KBVRpdGxlGAIgASgJ",
            "Eg0KBUljb24xGAMgASgJEg0KBUljb24yGAQgASgJEhEKCVRhbGVudFBvcxgF",
            "IAMoBSIvCgt0YWJsZV9Gb3JjZRIgCgRsaXN0GAEgAygLMhIubm92YS5jbGll",
            "bnQuRm9yY2UiMQoORm9ybWF0aW9uU2NlbmUSEQoJU2NlbmVOYW1lGAEgASgJ",
            "EgwKBFBhdGgYAiABKAkiQQoUdGFibGVfRm9ybWF0aW9uU2NlbmUSKQoEbGlz",
            "dBgBIAMoCzIbLm5vdmEuY2xpZW50LkZvcm1hdGlvblNjZW5lIpsDCgVHYWNo",
            "YRIKCgJJZBgBIAEoBRIRCglEZWZhdWx0SWQYAiABKAUSEgoKRGVmYXVsdFF0",
            "eRgDIAEoBRIOCgZDb3N0SWQYBCABKAUSDwoHQ29zdFF0eRgFIAEoBRIVCg1P",
            "bmNlUHJlZmVycmVkGAYgASgJEhkKEVRlblRpbWVzUHJlZmVycmVkGAcgASgJ",
            "EhIKCkxpbWl0VGltZXMYCCABKAUSFwoPQVR5cGVVcFNob3dQcm9iGAkgASgF",
            "EhcKD0JUeXBlVXBTaG93UHJvYhgKIAEoBRIRCglTdG9yYWdlSWQYCyABKAUS",
            "EQoJU3RhcnRUaW1lGAwgASgJEg8KB0VuZFRpbWUYDSABKAkSDAoEU29ydBgO",
            "IAEoBRIMCgRJY29uGA8gASgJEg0KBUltYWdlGBAgASgJEhMKC1VQQ2hhcmFj",
            "dGVyGBEgAygFEhAKCFVQT3V0Zml0GBIgAygFEhEKCUNoYXJhY3RlchgTIAMo",
            "BRIOCgZPdXRmaXQYFCADKAUSCwoDVGFnGBUgASgJEg0KBVZvaWNlGBYgASgJ",
            "Ii8KC3RhYmxlX0dhY2hhEiAKBGxpc3QYASADKAsyEi5ub3ZhLmNsaWVudC5H",
            "YWNoYSJ+ChJHYWNoYUFjcXVpcmVSZXdhcmQSCgoCSWQYASABKAUSEQoJaXRl",
            "bVN0eXBlGAIgASgFEhIKCml0ZW1SYXJpdHkYAyABKAUSFAoMQWNxdWlyZVRp",
            "bWVzGAQgASgFEg4KBkl0ZW1JZBgFIAEoBRIPCgdJdGVtTnVtGAYgASgFIkkK",
            "GHRhYmxlX0dhY2hhQWNxdWlyZVJld2FyZBItCgRsaXN0GAEgAygLMh8ubm92",
            "YS5jbGllbnQuR2FjaGFBY3F1aXJlUmV3YXJkIv8BCglHYWNoYVR5cGUSCgoC",
            "SWQYASABKAUSDAoETmFtZRgCIAEoCRIQCghDb2luSXRlbRgDIAMoBRIOCgZU",
            "aXRsZTEYBCABKAkSDQoFRGVzYzEYBSABKAkSDgoGVGl0bGUyGAYgASgJEg0K",
            "BURlc2MyGAcgASgJEg4KBlRpdGxlMxgIIAEoCRINCgVEZXNjMxgJIAEoCRIO",
            "CgZUaXRsZTQYCiABKAkSDQoFRGVzYzQYCyABKAkSDQoFRGVzYzUYDCABKAkS",
            "DgoGVGl0bGU1GA0gASgJEg0KBURlc2M2GA4gASgJEg0KBURlc2M3GA8gASgJ",
            "Eg0KBURlc2M4GBAgASgJIjcKD3RhYmxlX0dhY2hhVHlwZRIkCgRsaXN0GAEg",
            "AygLMhYubm92YS5jbGllbnQuR2FjaGFUeXBlIkYKDUdhbWVwYWRCdXR0b24S",
            "CgoCSWQYASABKAkSEAoIWGJveEljb24YAiABKAkSFwoPUGxheVN0YXRpb25J",
            "Y29uGAMgASgJIj8KE3RhYmxlX0dhbWVwYWRCdXR0b24SKAoEbGlzdBgBIAMo",
            "CzIaLm5vdmEuY2xpZW50LkdhbWVwYWRCdXR0b24iKAoHR01CdWlsZBIKCgJJ",
            "ZBgBIAEoBRIRCglCdWlsZERhdGEYAiABKAkiMwoNdGFibGVfR01CdWlsZBIi",
            "CgRsaXN0GAEgAygLMhQubm92YS5jbGllbnQuR01CdWlsZCKKAQoHR01PcmRl",
            "chINCgVPcmRlchgBIAEoCRIMCgREZXNjGAIgASgJEhIKClBhcmFtQ291bnQY",
            "AyABKAUSEgoKUGFyYW1OYW1lMRgEIAEoCRISCgpQYXJhbU5hbWUyGAUgASgJ",
            "EhIKClBhcmFtTmFtZTMYBiABKAkSEgoKUGFyYW1OYW1lNBgHIAEoCSIzCg10",
            "YWJsZV9HTU9yZGVyEiIKBGxpc3QYASADKAsyFC5ub3ZhLmNsaWVudC5HTU9y",
            "ZGVyIksKBkdNVGVhbRIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEhUKDVRl",
            "YW1DaGFyYWN0ZXIYAyADKAUSEAoIVGVhbURpc2MYBCADKAUiMQoMdGFibGVf",
            "R01UZWFtEiEKBGxpc3QYASADKAsyEy5ub3ZhLmNsaWVudC5HTVRlYW0itAMK",
            "BUd1aWRlEgoKAklkGAEgASgFEg8KB0dyb3VwSWQYAiABKAUSDAoEU3RlcBgD",
            "IAEoBRIMCgRUeXBlGAQgASgFEhQKDEd1aWRlUHJlcG9zZRgFIAEoBRIVCg1Q",
            "cmVwb3NlUGFyYW1zGAYgASgJEhQKDEd1aWRlVHJpZ2dlchgHIAEoBRIVCg1U",
            "cmlnZ2VyUGFyYW1zGAggASgJEg8KB0VuZFR5cGUYCSABKAUSFAoMQ2VudGVy",
            "T2Zmc2V0GAogASgCEhAKCEJpbmRJY29uGAsgAygJEhoKEkJpbmRJY29uQ2hp",
            "bGRDb3VudBgMIAEoBRIMCgRTaXplGA0gAygFEhEKCURldmlhdGlvbhgOIAMo",
            "BRINCgVEZWxheRgPIAEoBRIMCgRIZWFkGBAgASgJEgwKBERlc2MYESABKAkS",
            "FQoNRGVzY0RldmlhdGlvbhgSIAMoBRIVCg1IYW5kRGV2aWF0aW9uGBMgAygF",
            "EhQKDEhhbmRSb3RhdGlvbhgUIAEoBRISCgpEaWN0aW9uYXJ5GBUgASgFEg0K",
            "BUF2Z0lkGBYgASgJEhAKCElzQWN0aXZlGBcgASgIIi8KC3RhYmxlX0d1aWRl",
            "EiAKBGxpc3QYASADKAsyEi5ub3ZhLmNsaWVudC5HdWlkZSKyAgoKR3VpZGVH",
            "cm91cBIKCgJJZBgBIAEoBRIaChJHdWlkZURldGVjdGlvblR5cGUYAiABKAUS",
            "EgoKUGFzc2l2ZU1zZxgDIAEoCRIUCgxHdWlkZVByZXBvc2UYBCABKAUSFQoN",
            "UHJlcG9zZVBhcmFtcxgFIAEoCRIVCg1HdWlkZVByZXBvc2UyGAYgASgFEhYK",
            "DlByZXBvc2VQYXJhbXMyGAcgASgJEhEKCUd1aWRlUG9zdBgIIAEoBRISCgpQ",
            "b3N0UGFyYW1zGAkgASgJEhQKDEd1aWRlVHJpZ2dlchgKIAEoBRIVCg1Ucmln",
            "Z2VyUGFyYW1zGAsgASgJEhIKClRvd2VyU3RhdGUYDCABKAgSEgoKU2NyaXB0",
            "UGF0aBgNIAEoCRIQCghJc0FjdGl2ZRgOIAEoCCI5ChB0YWJsZV9HdWlkZUdy",
            "b3VwEiUKBGxpc3QYASADKAsyFy5ub3ZhLmNsaWVudC5HdWlkZUdyb3VwImEK",
            "CEhhbmRib29rEgoKAklkGAEgASgFEg0KBUluZGV4GAIgASgFEgwKBFR5cGUY",
            "AyABKAUSDgoGQ2hhcklkGAQgASgFEg4KBlNraW5JZBgFIAEoBRIMCgRDb25k",
            "GAYgASgFIjUKDnRhYmxlX0hhbmRib29rEiMKBGxpc3QYASADKAsyFS5ub3Zh",
            "LmNsaWVudC5IYW5kYm9vayKvBAoJSGl0RGFtYWdlEgoKAklkGAEgASgFEhUK",
            "DWxldmVsVHlwZURhdGEYAiABKAUSEQoJTGV2ZWxEYXRhGAMgASgFEhUKDU1h",
            "aW5PclN1cHBvcnQYBCABKAUSFQoNSGl0ZGFtYWdlSW5mbxgFIAEoCRIUCgxE",
            "aXN0YW5jZVR5cGUYBiABKAUSEgoKU291cmNlVHlwZRgHIAEoBRISCgpEYW1h",
            "Z2VUeXBlGAggASgFEhIKCkVmZmVjdFR5cGUYCSABKAUSEwoLRWxlbWVudFR5",
            "cGUYCiABKAUSEQoJRGFtYWdlVGFnGAsgAygFEhcKD0RhbWFnZUJvbnVzVHlw",
            "ZRgMIAEoBRIZChFTa2lsbFBlcmNlbnRBbWVuZBgNIAMoBRIVCg1Ta2lsbEFi",
            "c0FtZW5kGA4gAygFEhgKEEFkZGl0aW9uYWxTb3VyY2UYDyABKAUSFgoOQWRk",
            "aXRpb25hbFR5cGUYECABKAUSGQoRQWRkaXRpb25hbFBlcmNlbnQYESADKAUS",
            "FAoMRW5lcmd5Q2hhcmdlGBIgASgFEhoKElRhbGVudFBlcmNlbnRBbWVuZBgT",
            "IAMoBRIWCg5UYWxlbnRBYnNBbWVuZBgUIAMoBRITCgtJc0RlbnNlVHlwZRgV",
            "IAEoCBIVCg1QZXJrSW50ZW5zaXR5GBYgAygFEg8KB1NraWxsSWQYFyABKAUS",
            "FQoNU2tpbGxTbG90VHlwZRgYIAEoBRIOCgZQZXJrSWQYGSABKAUiNwoPdGFi",
            "bGVfSGl0RGFtYWdlEiQKBGxpc3QYASADKAsyFi5ub3ZhLmNsaWVudC5IaXRE",
            "YW1hZ2UiswEKBUhvbm9yEgoKAklkGAEgASgFEgwKBE5hbWUYAiABKAkSEAoI",
            "SXNVbmxvY2sYAyABKAgSDAoEVHlwZRgEIAEoBRIPCgdUYWJUeXBlGAUgASgF",
            "Eg4KBlBhcmFtcxgGIAMoBRIQCghQcmlvdGl0eRgHIAEoBRIPCgdNYWluUmVz",
            "GAggASgJEg4KBlN1YlJlcxgJIAEoCRIMCgRTb3J0GAogASgFEg4KBkJHVHlw",
            "ZRgLIAEoBSIvCgt0YWJsZV9Ib25vchIgCgRsaXN0GAEgAygLMhIubm92YS5j",
            "bGllbnQuSG9ub3IilAEKDkhvbm9yQ2hhcmFjdGVyEgoKAklkGAEgASgFEg4K",
            "BkNoYXJJZBgCIAEoBRINCgVMZXZlbBgDIAEoBRIRCglCaWdCZ1BhdGgYBCAB",
            "KAkSEwoLU21hbGxCZ1BhdGgYBSABKAkSEQoJU3Rhckdyb3VwGAYgAygFEgwK",
            "BFNvcnQYByABKAUSDgoGQkdUeXBlGAggASgFIkEKFHRhYmxlX0hvbm9yQ2hh",
            "cmFjdGVyEikKBGxpc3QYASADKAsyGy5ub3ZhLmNsaWVudC5Ib25vckNoYXJh",
            "Y3RlciKlAQoNSW5maW5pdHlUb3dlchIKCgJJZBgBIAEoBRIMCgROYW1lGAIg",
            "ASgJEhMKC0VsZW1lbnRUeXBlGAMgASgFEhoKEkZvcm1hdGlvblNjZW5lTmFt",
            "ZRgEIAEoCRIKCgJCZxgFIAEoCRIXCg9QcmVUb3dlckxldmVsSWQYBiABKAUS",
            "DwoHT3BlbkRheRgHIAMoBRITCgtPcGVuRGF5RGVzYxgIIAEoCSI/ChN0YWJs",
            "ZV9JbmZpbml0eVRvd2VyEigKBGxpc3QYASADKAsyGi5ub3ZhLmNsaWVudC5J",
            "bmZpbml0eVRvd2VyIn0KEkluZmluaXR5VG93ZXJBZmZpeBIKCgJJZBgBIAEo",
            "BRIMCgROYW1lGAIgASgJEgwKBERlc2MYAyABKAkSDwoHQWRkQ2FtcBgEIAMo",
            "BRIYChBUcmlnZ2VyQ29uZGl0aW9uGAUgASgFEhQKDFRyaWdnZXJQYXJhbRgG",
            "IAEoCSJJChh0YWJsZV9JbmZpbml0eVRvd2VyQWZmaXgSLQoEbGlzdBgBIAMo",
            "CzIfLm5vdmEuY2xpZW50LkluZmluaXR5VG93ZXJBZmZpeCKdAgoYSW5maW5p",
            "dHlUb3dlckJvdW50eUxldmVsEgoKAklkGAEgASgFEg0KBUxldmVsGAIgASgF",
            "EgwKBE5hbWUYAyABKAkSDAoESWNvbhgEIAEoCRIUCgxSZXdhcmREcm9wSWQY",
            "BSABKAUSEgoKUmV3YXJkU2hvdxgGIAEoCRINCgVDb25kMRgHIAEoBRISCgpD",
            "b25kUGFyYW0xGAggAygFEhEKCUNvbmREZXNjMRgJIAEoCRINCgVDb25kMhgK",
            "IAEoBRISCgpDb25kUGFyYW0yGAsgAygFEhEKCUNvbmREZXNjMhgMIAEoCRIN",
            "CgVDb25kMxgNIAEoBRISCgpDb25kUGFyYW0zGA4gAygFEhEKCUNvbmREZXNj",
            "MxgPIAEoCSJVCh50YWJsZV9JbmZpbml0eVRvd2VyQm91bnR5TGV2ZWwSMwoE",
            "bGlzdBgBIAMoCzIlLm5vdmEuY2xpZW50LkluZmluaXR5VG93ZXJCb3VudHlM",
            "ZXZlbCKtAQoXSW5maW5pdHlUb3dlckRpZmZpY3VsdHkSCgoCSWQYASABKAUS",
            "DAoETmFtZRgCIAEoCRIPCgdUb3dlcklkGAMgASgFEhgKEFVubG9ja1dvcmxk",
            "Q2xhc3MYBCABKAUSEgoKVW5sb2NrVGlwcxgFIAEoCRITCgtJc0NoYWxsZW5n",
            "ZRgGIAEoCBIWCg5SZWNvbW1lbmRMZXZlbBgHIAEoBRIMCgRTb3J0GAggASgF",
            "IlMKHXRhYmxlX0luZmluaXR5VG93ZXJEaWZmaWN1bHR5EjIKBGxpc3QYASAD",
            "KAsyJC5ub3ZhLmNsaWVudC5JbmZpbml0eVRvd2VyRGlmZmljdWx0eSK0AQoV",
            "SW5maW5pdHlUb3dlckVuZW15U2V0Eg0KBVNldElkGAEgASgFEg8KB1dhdmVO",
            "dW0YAiABKAUSEAoIR3JvdXBOdW0YAyABKAUSDgoGTWF4TnVtGAQgASgFEhUK",
            "DU1heE51bVBlcldhdmUYBSABKAUSEQoJTW9uc3RlcklkGAYgASgFEhMKC0xl",
            "dmVsQ2hhbmdlGAcgASgFEhoKEkNvbW1vbkdhbWVwbGF5VHlwZRgIIAEoBSJP",
            "Cht0YWJsZV9JbmZpbml0eVRvd2VyRW5lbXlTZXQSMAoEbGlzdBgBIAMoCzIi",
            "Lm5vdmEuY2xpZW50LkluZmluaXR5VG93ZXJFbmVteVNldCLWAQoSSW5maW5p",
            "dHlUb3dlckZsb29yEgoKAklkGAEgASgFEgwKBEx2SWQYAiABKAUSDQoFTWFw",
            "SWQYAyABKAUSEAoIQmF0dGxlTHYYBCABKAUSEQoJRmxvb3JGdW5jGAUgASgF",
            "EhEKCU1vbnN0ZXJMdhgGIAEoBRINCgVTdGFnZRgHIAEoBRINCgVTZXRJZBgI",
            "IAEoBRIRCglMaW1pdFRpbWUYCSABKAUSHQoVUHJldmlld01vbnN0ZXJHcm91",
            "cElkGAogASgFEg8KB0FmZml4SWQYCyADKAUiSQoYdGFibGVfSW5maW5pdHlU",
            "b3dlckZsb29yEi0KBGxpc3QYASADKAsyHy5ub3ZhLmNsaWVudC5JbmZpbml0",
            "eVRvd2VyRmxvb3IilgIKEkluZmluaXR5VG93ZXJMZXZlbBIKCgJJZBgBIAEo",
            "BRIMCgROYW1lGAIgASgJEhQKDERpZmZpY3VsdHlJZBgDIAEoBRIRCglMZXZl",
            "bFR5cGUYBCABKAUSDQoFRmxvb3IYBSABKAUSDwoHRmxvb3JJZBgGIAEoBRIS",
            "CgpQcmVMZXZlbElkGAcgASgFEhEKCUVudHJ5Q29uZBgIIAEoBRIWCg5FbnRy",
            "eUNvbmRQYXJhbRgJIAMoBRITCgtBd2FyZERyb3BJZBgKIAEoBRITCgtSZWNv",
            "bW1lbmRMdhgLIAEoBRIaChJSZWNvbW1lbmRCdWlsZFJhbmsYDCABKAUSGAoQ",
            "QmFzZUF3YXJkUHJldmlldxgNIAEoCSJJChh0YWJsZV9JbmZpbml0eVRvd2Vy",
            "TGV2ZWwSLQoEbGlzdBgBIAMoCzIfLm5vdmEuY2xpZW50LkluZmluaXR5VG93",
            "ZXJMZXZlbCKCAQoQSW5maW5pdHlUb3dlck1hcBIKCgJJZBgBIAEoBRIRCglT",
            "Y2VuZU5hbWUYAiABKAkSGAoQQ29uZmlnUHJlZmFiTmFtZRgDIAEoCRINCgVU",
            "aGVtZRgEIAEoBRILCgNCR00YBSABKAkSGQoRTGVhdmVUcmlnZ2VyRXZlbnQY",
            "BiABKAkiRQoWdGFibGVfSW5maW5pdHlUb3dlck1hcBIrCgRsaXN0GAEgAygL",
            "Mh0ubm92YS5jbGllbnQuSW5maW5pdHlUb3dlck1hcCKCAQoQSW5maW5pdHlU",
            "b3dlck1zZxIKCgJJZBgBIAEoBRINCgVUaXRsZRgCIAEoCRIPCgdDb250ZW50",
            "GAMgASgJEgwKBFR5cGUYBCABKAUSEQoJRGF5T2ZXZWVrGAUgAygFEhEKCUNv",
            "bmRpdGlvbhgGIAEoBRIOCgZQYXJhbXMYByABKAkiRQoWdGFibGVfSW5maW5p",
            "dHlUb3dlck1zZxIrCgRsaXN0GAEgAygLMh0ubm92YS5jbGllbnQuSW5maW5p",
            "dHlUb3dlck1zZyK/AQoRSW5maW5pdHlUb3dlclBsb3QSCgoCSWQYASABKAUS",
            "DAoETmFtZRgCIAEoCRIMCgREZXNjGAMgASgJEg8KB1Bsb3RTdW0YBCABKAkS",
            "DgoGUGxvdElkGAUgASgFEg0KBWF2Z0lkGAYgASgJEhIKClVubG9ja0NvbmQY",
            "ByABKAUSEQoJQ29uZFBhcmFtGAggAygFEhQKDFJld2FyZEl0ZW1JZBgJIAEo",
            "BRIVCg1SZXdhcmRJdGVtUXR5GAogASgFIkcKF3RhYmxlX0luZmluaXR5VG93",
            "ZXJQbG90EiwKBGxpc3QYASADKAsyHi5ub3ZhLmNsaWVudC5JbmZpbml0eVRv",
            "d2VyUGxvdCJwChFJbnRlcmFjdGl2ZUFjdGlvbhIKCgJJZBgBIAEoBRIRCglQ",
            "bGF5ZXJBbmkYAiABKAgSDQoFSWNvbjAYAyABKAkSDgoGVGl0bGUwGAQgASgJ",
            "Eg0KBUljb24xGAUgASgJEg4KBlRpdGxlMRgGIAEoCSJHChd0YWJsZV9JbnRl",
            "cmFjdGl2ZUFjdGlvbhIsCgRsaXN0GAEgAygLMh4ubm92YS5jbGllbnQuSW50",
            "ZXJhY3RpdmVBY3Rpb24irwIKBEl0ZW0SCgoCSWQYASABKAUSDQoFVGl0bGUY",
            "AiABKAkSDAoERGVzYxgDIAEoCRIQCghMaXRlcmFyeRgEIAEoCRIMCgRUeXBl",
            "GAUgASgFEg0KBVN0eXBlGAYgASgFEg4KBlJhcml0eRgHIAEoBRINCgVTdGFj",
            "axgIIAEoCBIVCg1Qb3NpdGlvbkxpbWl0GAkgASgFEhIKCkV4cGlyZVR5cGUY",
            "CiABKAUSDwoHVXNlTW9kZRgLIAEoBRIRCglVc2VBY3Rpb24YDCABKAUSDwoH",
            "VXNlQXJncxgNIAEoCRIPCgdEaXNwbGF5GA4gASgIEhIKCk9idGFpbldheXMY",
            "DyABKAkSDgoGSnVtcFRvGBAgAygFEgwKBEljb24YESABKAkSDQoFSWNvbjIY",
            "EiABKAkiLQoKdGFibGVfSXRlbRIfCgRsaXN0GAEgAygLMhEubm92YS5jbGll",
            "bnQuSXRlbSJbCgxJdGVtUGFja01hcmsSCgoCSWQYASABKAUSEAoIUGFja01h",
            "cmsYAiABKAUSEQoJSXRlbVN0eXBlGAMgAygFEgwKBE5hbWUYBCABKAkSDAoE",
            "U29ydBgFIAEoBSI9ChJ0YWJsZV9JdGVtUGFja01hcmsSJwoEbGlzdBgBIAMo",
            "CzIZLm5vdmEuY2xpZW50Lkl0ZW1QYWNrTWFyayJNCgZKdW1wVG8SCgoCSWQY",
            "ASABKAUSDAoEVHlwZRgCIAEoBRINCgVQYXJhbRgDIAMoBRIMCgREZXNjGAQg",
            "ASgJEgwKBEljb24YBSABKAkiMQoMdGFibGVfSnVtcFRvEiEKBGxpc3QYASAD",
            "KAsyEy5ub3ZhLmNsaWVudC5KdW1wVG8icAoSTG9naW5SZXdhcmRDb250cm9s",
            "EgoKAklkGAEgASgFEhQKDFJld2FyZHNHcm91cBgCIAEoBRIPCgdEZXNUZXh0",
            "GAMgASgJEhAKCFVJQXNzZXRzGAQgASgJEhUKDVBvcFVwVUlBc3NldHMYBSAB",
            "KAkiSQoYdGFibGVfTG9naW5SZXdhcmRDb250cm9sEi0KBGxpc3QYASADKAsy",
            "Hy5ub3ZhLmNsaWVudC5Mb2dpblJld2FyZENvbnRyb2wi2AEKEExvZ2luUmV3",
            "YXJkR3JvdXASFQoNUmV3YXJkR3JvdXBJZBgBIAEoBRINCgVPcmRlchgCIAEo",
            "BRIRCglSZXdhcmRJZDEYAyABKAUSDAoEUXR5MRgEIAEoBRIRCglSZXdhcmRJ",
            "ZDIYBSABKAUSDAoEUXR5MhgGIAEoBRIRCglSZXdhcmRJZDMYByABKAUSDAoE",
            "UXR5MxgIIAEoBRISCgpSZXdhcmRJY29uGAkgASgJEhMKC1Jld2FyZENvdW50",
            "GAogASgFEhIKClJld2FyZERlc2MYCyABKAkiRQoWdGFibGVfTG9naW5SZXdh",
            "cmRHcm91cBIrCgRsaXN0GAEgAygLMh0ubm92YS5jbGllbnQuTG9naW5SZXdh",
            "cmRHcm91cCLtAgoMTWFpbFRlbXBsYXRlEgoKAklkGAEgASgFEhMKC0V4cGxh",
            "bmF0aW9uGAIgASgJEgwKBEljb24YAyABKAkSDgoGQXV0aG9yGAQgASgJEhMK",
            "C0xldHRlclBhcGVyGAUgASgJEg8KB1N1YmplY3QYBiABKAkSDAoERGVzYxgH",
            "IAEoCRIMCgRUeXBlGAggASgFEg4KBlByb3BzMRgJIAEoBRITCgtQcm9wc0Nv",
            "dW50MRgKIAEoBRIOCgZQcm9wczIYCyABKAUSEwoLUHJvcHNDb3VudDIYDCAB",
            "KAUSDgoGUHJvcHMzGA0gASgFEhMKC1Byb3BzQ291bnQzGA4gASgFEg4KBlBy",
            "b3BzNBgPIAEoBRITCgtQcm9wc0NvdW50NBgQIAEoBRIOCgZQcm9wczUYESAB",
            "KAUSEwoLUHJvcHNDb3VudDUYEiABKAUSDgoGUHJvcHM2GBMgASgFEhMKC1By",
            "b3BzQ291bnQ2GBQgASgFIj0KEnRhYmxlX01haWxUZW1wbGF0ZRInCgRsaXN0",
            "GAEgAygLMhkubm92YS5jbGllbnQuTWFpbFRlbXBsYXRlIuYECghNYWlubGlu",
            "ZRIKCgJJZBgBIAEoBRILCgNOdW0YAiABKAkSDAoETmFtZRgDIAEoCRIMCgRE",
            "ZXNjGAQgASgJEgwKBFR5cGUYBSABKAUSDgoGRW5lcmd5GAYgASgFEhEKCUNo",
            "YXB0ZXJJZBgHIAEoBRIMCgRQcmV2GAggAygFEgwKBEZvcm0YCSADKAUSDQoF",
            "QXZnSWQYCiABKAkSFgoOVHJpYWxDaGFyYWN0ZXIYCyADKAUSEwoLQmVmb3Jl",
            "QXZnSWQYDCABKAkSEgoKQWZ0ZXJBdmdJZBgNIAEoCRIVCg1FbmVyZ3lDb25z",
            "dW1lGA4gASgFEhIKClVubG9ja0l0ZW0YDyABKAUSEQoJVW5sb2NrUXR5GBAg",
            "ASgFEhIKCkdsb2JSZXdhcmQYESABKAUSFQoNUmV3YXJkUHJldmlldxgSIAEo",
            "CRISCgpJdGVtUmV3YXJkGBMgASgFEhcKD0ZpcnN0SXRlbVJld2FyZBgUIAEo",
            "BRIVCg1EaWFtb25kUmV3YXJkGBUgASgFEhYKDk1pbkNoZXN0UmV3YXJkGBYg",
            "ASgJEhYKDk1heENoZXN0UmV3YXJkGBcgASgJEhIKCkNoYXJCYW5uZWQYGCAD",
            "KAUSDwoHRmxvb3JJZBgZIAMoBRIMCgRJY29uGBogASgJEg0KBVBvc0lkGBsg",
            "ASgFEh0KFVByZXZpZXdNb25zdGVyR3JvdXBJZBgcIAEoBRIRCglSZWNvbW1l",
            "bmQYHSABKAUSDgoGUmVwZWF0GB4gASgIEhIKClN1Yk1hcE5hbWUYHyABKAUS",
            "EwoLTWFpbmxpbmVJbWcYICABKAkiNQoOdGFibGVfTWFpbmxpbmUSIwoEbGlz",
            "dBgBIAMoCzIVLm5vdmEuY2xpZW50Lk1haW5saW5lIpIBCg1NYWlubGluZUZs",
            "b29yEgoKAklkGAEgASgFEhEKCVNjZW5lTmFtZRgCIAEoCRIYChBDb25maWdQ",
            "cmVmYWJOYW1lGAMgASgJEg0KBVRoZW1lGAQgASgFEgsKA0JHTRgFIAEoCRIZ",
            "ChFMZWF2ZVRyaWdnZXJFdmVudBgGIAEoCRIRCglNb25zdGVyTHYYByABKAUi",
            "PwoTdGFibGVfTWFpbmxpbmVGbG9vchIoCgRsaXN0GAEgAygLMhoubm92YS5j",
            "bGllbnQuTWFpbmxpbmVGbG9vciLwAQoHTWFsbEdlbRIKCgJJZBgBIAEoCRIM",
            "CgROYW1lGAIgASgJEg0KBU9yZGVyGAMgASgFEhIKCkJhc2VJdGVtSWQYBCAB",
            "KAUSEwoLQmFzZUl0ZW1RdHkYBSABKAUSHgoWRXhwZXJpZW5jZWRCb251c0l0",
            "ZW1JZBgGIAEoBRIfChdFeHBlcmllbmNlZEJvbnVzSXRlbVF0eRgHIAEoBRIZ",
            "ChFNYWlkZW5Cb251c0l0ZW1JRBgIIAEoBRIaChJNYWlkZW5Cb251c0l0ZW1R",
            "dHkYCSABKAUSDQoFUHJpY2UYCiABKAUSDAoESWNvbhgLIAEoCSIzCg10YWJs",
            "ZV9NYWxsR2VtEiIKBGxpc3QYASADKAsyFC5ub3ZhLmNsaWVudC5NYWxsR2Vt",
            "IpkBCg9NYWxsTW9udGhseUNhcmQSCgoCSWQYASABKAkSDAoETmFtZRgCIAEo",
            "CRIVCg1Nb250aGx5Q2FyZElkGAMgASgFEg0KBVByaWNlGAQgASgFEhIKCkJh",
            "c2VJdGVtSWQYBSABKAUSEwoLQmFzZUl0ZW1RdHkYBiABKAUSDwoHTWF4RGF5",
            "cxgHIAEoBRIMCgRJY29uGAggASgJIkMKFXRhYmxlX01hbGxNb250aGx5Q2Fy",
            "ZBIqCgRsaXN0GAEgAygLMhwubm92YS5jbGllbnQuTWFsbE1vbnRobHlDYXJk",
            "IucCCgtNYWxsUGFja2FnZRIKCgJJZBgBIAEoCRIMCgROYW1lGAIgASgJEg8K",
            "B0dyb3VwSWQYAyABKAUSDAoEU29ydBgEIAEoBRIUCgxDdXJyZW5jeVR5cGUY",
            "BSABKAUSFgoOQ3VycmVuY3lJdGVtSWQYBiABKAUSFwoPQ3VycmVuY3lJdGVt",
            "UXR5GAcgASgFEg0KBVN0b2NrGAggASgFEhMKC1JlZnJlc2hUeXBlGAkgASgF",
            "Eg0KBUl0ZW1zGAogASgJEhQKDExpc3RDb25kVHlwZRgLIAEoBRIWCg5MaXN0",
            "Q29uZFBhcmFtcxgMIAEoCRIVCg1PcmRlckNvbmRUeXBlGA0gASgFEhcKD09y",
            "ZGVyQ29uZFBhcmFtcxgOIAEoCRIQCghMaXN0VGltZRgPIAEoCRISCgpEZUxp",
            "c3RUaW1lGBAgASgJEhMKC0Rpc3BsYXlNb2RlGBEgASgFEgwKBEljb24YEiAB",
            "KAkiOwoRdGFibGVfTWFsbFBhY2thZ2USJgoEbGlzdBgBIAMoCzIYLm5vdmEu",
            "Y2xpZW50Lk1hbGxQYWNrYWdlIjkKD01hbGxQYWNrYWdlUGFnZRIKCgJJZBgB",
            "IAEoBRIMCgROYW1lGAIgASgJEgwKBFNvcnQYAyABKAUiQwoVdGFibGVfTWFs",
            "bFBhY2thZ2VQYWdlEioKBGxpc3QYASADKAsyHC5ub3ZhLmNsaWVudC5NYWxs",
            "UGFja2FnZVBhZ2Ui4AIKCE1hbGxTaG9wEgoKAklkGAEgASgJEgwKBE5hbWUY",
            "AiABKAkSDAoERGVzYxgDIAEoCRIPCgdHcm91cElkGAQgASgFEgwKBFNvcnQY",
            "BSABKAUSFgoORXhjaGFuZ2VJdGVtSWQYBiABKAUSFwoPRXhjaGFuZ2VJdGVt",
            "UXR5GAcgASgFEg0KBVN0b2NrGAggASgFEhMKC1JlZnJlc2hUeXBlGAkgASgF",
            "Eg4KBkl0ZW1JZBgKIAEoBRIPCgdJdGVtUXR5GAsgASgFEhQKDExpc3RDb25k",
            "VHlwZRgMIAEoBRIWCg5MaXN0Q29uZFBhcmFtcxgNIAEoCRIVCg1PcmRlckNv",
            "bmRUeXBlGA4gASgFEhcKD09yZGVyQ29uZFBhcmFtcxgPIAEoCRIQCghMaXN0",
            "VGltZRgQIAEoCRISCgpEZUxpc3RUaW1lGBEgASgJEhMKC0Rpc3BsYXlNb2Rl",
            "GBIgASgFIjUKDnRhYmxlX01hbGxTaG9wEiMKBGxpc3QYASADKAsyFS5ub3Zh",
            "LmNsaWVudC5NYWxsU2hvcCKHAQoMTWFsbFNob3BQYWdlEgoKAklkGAEgASgF",
            "EgwKBFNvcnQYAiABKAUSDAoETmFtZRgDIAEoCRIXCg9SZWZyZXNoVGltZVR5",
            "cGUYBCABKAUSEAoIU2hvcENvaW4YBSABKAUSEAoITGlzdFRpbWUYBiABKAkS",
            "EgoKRGVMaXN0VGltZRgHIAEoCSI9ChJ0YWJsZV9NYWxsU2hvcFBhZ2USJwoE",
            "bGlzdBgBIAMoCzIZLm5vdmEuY2xpZW50Lk1hbGxTaG9wUGFnZSLsBQoHTW9u",
            "c3RlchIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEhQKDEZvcm1hbE5hbWVJ",
            "ZBgDIAEoBRIOCgZFcGljTHYYBCABKAUSFwoPTW9uc3RlclBvc2l0aW9uGAUg",
            "ASgFEhEKCUJsb29kVHlwZRgGIAEoBRINCgVGb3JjZRgHIAEoCRIMCgRGQ0lk",
            "GAggASgFEgwKBEZBSWQYCSABKAUSDwoHTW92VHlwZRgKIAEoBRIOCgZSdW5T",
            "cGQYCyABKAUSFQoNVHJhbnNTcGRTY2FsZRgMIAEoBRIPCgdXYWxrU3BkGA0g",
            "ASgFEg4KBk1vdkFjYxgOIAEoBRIRCglWaXNpb25SbmcYDyABKAUSEQoJVmlz",
            "aW9uRGVnGBAgASgFEg8KB0hlYXJSbmcYESABKAUSDgoGUmVmUm5nGBIgASgF",
            "Eg4KBkFjdFJuZxgTIAEoBRIRCglEaXNBY3RSbmcYFCABKAUSEQoJU2VhcmNo",
            "Um5nGBUgASgFEg4KBlJvdFNwZBgWIAEoBRIVCg1Sb3RTcGRJblNraWxsGBcg",
            "ASgFEhAKCFRlbXBsZXRlGBggASgFEg8KB0J1ZmZJZHMYGSADKAUSDwoHU3Vi",
            "VHlwZRgaIAEoBRIPCgdGYWN0aW9uGBsgASgFEhIKClRyYXBUYWdJZHMYHCAD",
            "KAUSEQoJU3VwQ2hhcmdlGB0gASgFEhEKCUlzU2hvd1JuZxgeIAEoCBIOCgZX",
            "ZWlnaHQYHyABKAUSGwoTVG91Z2huZXNzQnJva2VuVGltZRggIAEoBRIMCgRU",
            "YWcxGCEgASgJEgwKBFRhZzIYIiABKAkSDAoEVGFnMxgjIAEoCRIMCgRUYWc0",
            "GCQgASgJEgwKBFRhZzUYJSABKAkSFgoOQXR0YWNrSGludFR5cGUYJiABKAUS",
            "FQoNQmxvY2tQcmlvcml0eRgnIAEoBRIVCg1XYXlQb2ludFNoaWZ0GCggASgF",
            "EhUKDU1vbnN0ZXJUZWFtSWQYKSABKAUiMwoNdGFibGVfTW9uc3RlchIiCgRs",
            "aXN0GAEgAygLMhQubm92YS5jbGllbnQuTW9uc3RlciL5BAoTTW9uc3RlckFj",
            "dGlvbkJyYW5jaBIKCgJJZBgBIAEoBRIPCgdHcm91cElkGAIgASgFEg8KB1Nr",
            "aWxsSWQYAyABKAUSEAoIUHJpb3JpdHkYBCABKAUSDgoGV2VpZ2h0GAUgASgF",
            "EgwKBFJhdGUYBiABKAUSCgoCQ0QYByABKAUSFQoNSW5pdGlhbENEUG9vbBgI",
            "IAMoBRIUCgxNaW5Jbml0aWFsQ0QYCSABKAUSFAoMTWF4SW5pdGlhbENEGAog",
            "ASgFEhMKC1N0YXJ0Q0RUaW1lGAsgASgFEg8KB0ZpeGVkQ0QYDCABKAgSFwoP",
            "UmVsZWFzZURpc3RhbmNlGA0gASgFEhQKDFJlbGVhc2VBbmdsZRgOIAEoBRIV",
            "Cg1UcmFjZUR1cmF0aW9uGA8gASgFEhAKCEFjdGl2YXRlGBAgASgIEhwKFEFj",
            "dGl2ZUNvbmRpdGlvblR5cGUxGBEgASgFEhQKDEFjdGl2ZVBhcmFtMRgSIAEo",
            "CRIUCgxBY3RpdmVQYXJhbTIYEyABKAkSHgoWRGVBY3RpdmVDb25kaXRpb25U",
            "eXBlMRgUIAEoBRIWCg5EZUFjdGl2ZVBhcmFtMRgVIAEoCRIWCg5EZUFjdGl2",
            "ZVBhcmFtMhgWIAEoCRIYChBGb2xsb3dFdmVudFR5cGUxGBcgASgFEhkKEUZv",
            "bGxvd0V2ZW50UGFyYW0xGBggASgJEhgKEEZvbGxvd0V2ZW50VHlwZTIYGSAB",
            "KAUSGQoRRm9sbG93RXZlbnRQYXJhbTIYGiABKAkSGAoQRm9sbG93RXZlbnRU",
            "eXBlMxgbIAEoBRIZChFGb2xsb3dFdmVudFBhcmFtMxgcIAEoCSJLChl0YWJs",
            "ZV9Nb25zdGVyQWN0aW9uQnJhbmNoEi4KBGxpc3QYASADKAsyIC5ub3ZhLmNs",
            "aWVudC5Nb25zdGVyQWN0aW9uQnJhbmNoItgCCglNb25zdGVyQUkSCgoCSWQY",
            "ASABKAUSFgoOQ29tYm9Hcm91cFBhdGgYAiABKAkSGAoQU3Bhd25TaG93U2tp",
            "bGxJZBgDIAEoBRIXCg9JZGxlU2hvd1NraWxsSWQYBCABKAUSEgoKRGllU2tp",
            "bGxJZBgFIAEoBRIUCgxBY3Rpb25BSVBhdGgYBiABKAkSFwoPQWN0aW9uQnJh",
            "bmNoSWRzGAcgAygFEhUKDVRoaW5rSW50ZXJ2YWwYCCABKAUSEgoKSWRsZUFJ",
            "UGF0aBgJIAEoCRITCgtTcGF3bkFJUGF0aBgKIAEoCRIWCg5QYXJhbGxlbEFJ",
            "UGF0aBgLIAEoCRIYChBDaGVja0FjaGlldmVtZW50GAwgASgIEhMKC1dhbmRl",
            "clJhbmdlGA0gASgFEhYKDldhbmRlckludGVydmFsGA4gASgFEhIKCldhbmRl",
            "clJhdGUYDyABKAUiNwoPdGFibGVfTW9uc3RlckFJEiQKBGxpc3QYASADKAsy",
            "Fi5ub3ZhLmNsaWVudC5Nb25zdGVyQUkibgoQTW9uc3RlckJvcm5Hcm91cBIP",
            "CgdHcm91cElkGAEgASgFEhEKCU1vbnN0ZXJJZBgCIAEoBRISCgpEaWZmaWN1",
            "bHR5GAMgASgFEhAKCE1pbkZsb29yGAQgASgFEhAKCE1heEZsb29yGAUgASgF",
            "IkUKFnRhYmxlX01vbnN0ZXJCb3JuR3JvdXASKwoEbGlzdBgBIAMoCzIdLm5v",
            "dmEuY2xpZW50Lk1vbnN0ZXJCb3JuR3JvdXAiLAoMTW9uc3Rlckdyb3VwEgoK",
            "AklkGAEgASgFEhAKCE1vbnN0ZXJzGAIgASgJIj0KEnRhYmxlX01vbnN0ZXJH",
            "cm91cBInCgRsaXN0GAEgAygLMhkubm92YS5jbGllbnQuTW9uc3Rlckdyb3Vw",
            "IrwCCgtNb25zdGVyU2tpbhIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEgwK",
            "BERlc2MYAyABKAkSDAoESWNvbhgEIAEoCRIQCghIaW50SWNvbhgFIAEoCRIN",
            "CgVNb2RlbBgGIAEoCRIXCg9SdW5BbmltYXRpb25TcGQYByABKAUSGAoQV2Fs",
            "a0FuaW1hdGlvblNwZBgIIAEoBRIRCglCYXJIZWlnaHQYCSABKAUSEgoKTW9k",
            "ZWxTY2FsZRgKIAEoBRITCgtCdWZmRlhTY2FsZRgLIAEoBRIVCg1Db2xsaWRl",
            "clNjYWxlGAwgASgFEhkKEUZvcmJpZGRlbkJlaGl0Um90GA0gASgIEhgKEEVm",
            "ZmVjdFNjYWxlVmFsdWUYDiABKAUSGwoTVGFnRWZmZWN0U2NhbGVWYWx1ZRgP",
            "IAEoBSI7ChF0YWJsZV9Nb25zdGVyU2tpbhImCgRsaXN0GAEgAygLMhgubm92",
            "YS5jbGllbnQuTW9uc3RlclNraW4ioQEKC01vbnN0ZXJUZWFtEgoKAklkGAEg",
            "ASgFEg8KB01hdGUwSWQYAiABKAUSDwoHTWF0ZTFJZBgDIAEoBRIPCgdNYXRl",
            "MklkGAQgASgFEg8KB01hdGUzSWQYBSABKAUSDwoHTWF0ZTRJZBgGIAEoBRIP",
            "CgdNYXRlNUlkGAcgASgFEg8KB01hdGU2SWQYCCABKAUSDwoHTWF0ZTdJZBgJ",
            "IAEoBSI7ChF0YWJsZV9Nb25zdGVyVGVhbRImCgRsaXN0GAEgAygLMhgubm92",
            "YS5jbGllbnQuTW9uc3RlclRlYW0izQcKFE1vbnN0ZXJWYWx1ZVRlbXBsZXRl",
            "EgoKAklkGAEgASgDEhIKClRlbXBsYXRlSWQYAiABKAUSDAoETmFtZRgDIAEo",
            "CRIKCgJMdhgEIAEoBRIKCgJIcBgFIAEoBRILCgNBdGsYBiABKAUSCwoDRGVm",
            "GAcgASgFEhAKCENyaXRSYXRlGAggASgFEhYKDk5vcm1hbENyaXRSYXRlGAkg",
            "ASgFEhUKDVNraWxsQ3JpdFJhdGUYCiABKAUSFQoNVWx0cmFDcml0UmF0ZRgL",
            "IAEoBRIUCgxNYXJrQ3JpdFJhdGUYDCABKAUSFgoOU3VtbW9uQ3JpdFJhdGUY",
            "DSABKAUSGgoSUHJvamVjdGlsZUNyaXRSYXRlGA4gASgFEhUKDU90aGVyQ3Jp",
            "dFJhdGUYDyABKAUSFgoOQ3JpdFJlc2lzdGFuY2UYECABKAUSEQoJQ3JpdFBv",
            "d2VyGBEgASgFEhcKD05vcm1hbENyaXRQb3dlchgSIAEoBRIWCg5Ta2lsbENy",
            "aXRQb3dlchgTIAEoBRIWCg5VbHRyYUNyaXRQb3dlchgUIAEoBRIVCg1NYXJr",
            "Q3JpdFBvd2VyGBUgASgFEhcKD1N1bW1vbkNyaXRQb3dlchgWIAEoBRIbChNQ",
            "cm9qZWN0aWxlQ3JpdFBvd2VyGBcgASgFEhYKDk90aGVyQ3JpdFBvd2VyGBgg",
            "ASgFEg8KB0hpdFJhdGUYGSABKAUSCwoDRXZkGBogASgFEg4KBkF0a1NwZBgb",
            "IAEoBRIRCglEZWZQaWVyY2UYHCABKAUSEQoJRGVmSWdub3JlGB0gASgFEgsK",
            "A1dFUBgeIAEoBRILCgNGRVAYHyABKAUSCwoDU0VQGCAgASgFEgsKA0FFUBgh",
            "IAEoBRILCgNMRVAYIiABKAUSCwoDREVQGCMgASgFEgsKA1dFSRgkIAEoBRIL",
            "CgNGRUkYJSABKAUSCwoDU0VJGCYgASgFEgsKA0FFSRgnIAEoBRILCgNMRUkY",
            "KCABKAUSCwoDREVJGCkgASgFEgsKA1dFRRgqIAEoBRILCgNGRUUYKyABKAUS",
            "CwoDU0VFGCwgASgFEgsKA0FFRRgtIAEoBRILCgNMRUUYLiABKAUSCwoDREVF",
            "GC8gASgFEgsKA1dFUhgwIAEoBRILCgNGRVIYMSABKAUSCwoDU0VSGDIgASgF",
            "EgsKA0FFUhgzIAEoBRILCgNMRVIYNCABKAUSCwoDREVSGDUgASgFEhEKCVRv",
            "dWdobmVzcxg2IAEoBRIQCghTdXBwcmVzcxg3IAEoBRISCgpSQ0RNQVJLRE1H",
            "GDggASgFIk0KGnRhYmxlX01vbnN0ZXJWYWx1ZVRlbXBsZXRlEi8KBGxpc3QY",
            "ASADKAsyIS5ub3ZhLmNsaWVudC5Nb25zdGVyVmFsdWVUZW1wbGV0ZSLQAwoa",
            "TW9uc3RlclZhbHVlVGVtcGxldGVBZGp1c3QSCgoCSWQYASABKAMSEgoKVGVt",
            "cGxhdGVJZBgCIAEoBRIMCgROYW1lGAMgASgJEgsKA0VFVBgEIAEoBRIPCgdX",
            "ZWFrRUVUGAUgAygFEg8KB0hwUmF0aW8YBiABKAUSDQoFSHBGaXgYByABKAUS",
            "EAoIQXRrUmF0aW8YCCABKAUSDgoGQXRrRml4GAkgASgFEhAKCFdFUlJhdGlv",
            "GAogASgFEg4KBldFUkZpeBgLIAEoBRIQCghGRVJSYXRpbxgMIAEoBRIOCgZG",
            "RVJGaXgYDSABKAUSEAoIU0VSUmF0aW8YDiABKAUSDgoGU0VSRml4GA8gASgF",
            "EhAKCEFFUlJhdGlvGBAgASgFEg4KBkFFUkZpeBgRIAEoBRIQCghMRVJSYXRp",
            "bxgSIAEoBRIOCgZMRVJGaXgYEyABKAUSEAoIREVSUmF0aW8YFCABKAUSDgoG",
            "REVSRml4GBUgASgFEhYKDlRvdWdobmVzc1JhdGlvGBYgASgFEhQKDFRvdWdo",
            "bmVzc0ZpeBgXIAEoBRIVCg1TdXBwcmVzc1JhdGlvGBggASgFEhMKC1N1cHBy",
            "ZXNzRml4GBkgASgFIlkKIHRhYmxlX01vbnN0ZXJWYWx1ZVRlbXBsZXRlQWRq",
            "dXN0EjUKBGxpc3QYASADKAsyJy5ub3ZhLmNsaWVudC5Nb25zdGVyVmFsdWVU",
            "ZW1wbGV0ZUFkanVzdCJ3CgtNb250aGx5Q2FyZBIKCgJJZBgBIAEoBRIOCgZD",
            "YXJkSWQYAiABKAUSEQoJUmV3YXJkSWQxGAMgASgFEhIKClJld2FyZE51bTEY",
            "BCABKAUSEQoJUmV3YXJkSWQyGAUgASgFEhIKClJld2FyZE51bTIYBiABKAUi",
            "OwoRdGFibGVfTW9udGhseUNhcmQSJgoEbGlzdBgBIAMoCzIYLm5vdmEuY2xp",
            "ZW50Lk1vbnRobHlDYXJkIs0BCgROb3RlEgoKAklkGAEgASgFEgwKBE5vdGUY",
            "AiABKAUSDgoGU3R5bGUxGAMgASgJEg4KBlN0eWxlMhgEIAEoCRIOCgZTdHls",
            "ZTMYBSABKAkSDgoGU3R5bGU0GAYgASgJEg4KBlN0eWxlNRgHIAEoCRIOCgZT",
            "dHlsZTYYCCABKAkSDgoGU3R5bGU3GAkgASgJEg4KBlN0eWxlOBgKIAEoCRIN",
            "CgVDb2xvchgLIAEoCRINCgVOYW1lMRgMIAEoCRINCgVOYW1lMhgNIAEoCSIt",
            "Cgp0YWJsZV9Ob3RlEh8KBGxpc3QYASADKAsyES5ub3ZhLmNsaWVudC5Ob3Rl",
            "IroBCg1Ob3RlRHJvcEdyb3VwEg0KBUluZGV4GAEgASgFEg8KB0dyb3VwSWQY",
            "AiABKAUSFwoPUmFuZG9tTm90ZVJhbmdlGAMgAygFEhIKCkFOb3RlUmFuZ2UY",
            "BCADKAUSEgoKQk5vdGVSYW5nZRgFIAMoBRISCgpDTm90ZVJhbmdlGAYgAygF",
            "EhIKCkROb3RlUmFuZ2UYByADKAUSEgoKRU5vdGVSYW5nZRgIIAMoBRIMCgRJ",
            "Y29uGAkgASgJIj8KE3RhYmxlX05vdGVEcm9wR3JvdXASKAoEbGlzdBgBIAMo",
            "CzIaLm5vdmEuY2xpZW50Lk5vdGVEcm9wR3JvdXAizQEKCU5QQ0NvbmZpZxIK",
            "CgJJZBgBIAEoBRIMCgR0eXBlGAIgASgFEgwKBE5hbWUYAyABKAkSDAoERGVz",
            "YxgEIAEoCRIQCghMaXRlcmFyeRgFIAEoCRIUCgxSZWZyZXNoUG9pbnQYBiAB",
            "KAUSEgoKRmlyc3RMaW5lcxgHIAEoBRINCgVMaW5lcxgIIAMoBRIMCgRDaGF0",
            "GAkgAygFEhAKCENoYXRQcm9wGAogASgFEhAKCENoYXRUaW1lGAsgASgFEg0K",
            "BU5QQ0lkGAwgASgFIjcKD3RhYmxlX05QQ0NvbmZpZxIkCgRsaXN0GAEgAygL",
            "MhYubm92YS5jbGllbnQuTlBDQ29uZmlnIt0CCgdOUENTa2luEgoKAklkGAEg",
            "ASgFEgwKBE5hbWUYAiABKAkSDAoERGVzYxgDIAEoCRIOCgZJc1Nob3cYBCAB",
            "KAgSDgoGQ2hhcklkGAUgASgFEgwKBFR5cGUYBiABKAUSEgoKU291cmNlRGVz",
            "YxgHIAEoBRIMCgRJY29uGAggASgJEhUKDVNtYWxsUG9ydHJhaXQYCSABKAkS",
            "EgoKTW9kZWxTY2FsZRgKIAEoBRINCgVNb2RlbBgLIAEoCRIQCghQb3J0cmFp",
            "dBgMIAEoCRIKCgJCZxgNIAEoCRIOCgZPZmZzZXQYDiABKAkSCwoDTDJEGA8g",
            "ASgJEhoKEkZ1bGxTY3JlZW5Qb3J0cmFpdBgQIAEoCRIRCglTa2luVGhlbWUY",
            "ESABKAUSGQoRSW50ZXJhY3RpdmVBY3Rpb24YEiABKAgSGwoTSW50ZXJhY3Rp",
            "dmVBY3Rpb25JZBgTIAEoBSIzCg10YWJsZV9OUENTa2luEiIKBGxpc3QYASAD",
            "KAsyFC5ub3ZhLmNsaWVudC5OUENTa2luImYKF09uY2VBZGRpdGlvbmFsQXR0",
            "cmlidXRlEgoKAklkGAEgASgFEhUKDWxldmVsVHlwZURhdGEYAiABKAUSEQoJ",
            "TGV2ZWxEYXRhGAMgASgFEhUKDU1haW5PclN1cHBvcnQYBCABKAUiUwoddGFi",
            "bGVfT25jZUFkZGl0aW9uYWxBdHRyaWJ1dGUSMgoEbGlzdBgBIAMoCzIkLm5v",
            "dmEuY2xpZW50Lk9uY2VBZGRpdGlvbmFsQXR0cmlidXRlIuoBChxPbmNlQWRk",
            "aXRpb25hbEF0dHJpYnV0ZVZhbHVlEgoKAklkGAEgASgFEhYKDkF0dHJpYnV0",
            "ZVR5cGUxGAIgASgFEhYKDlBhcmFtZXRlclR5cGUxGAMgASgFEg4KBlZhbHVl",
            "MRgEIAEoBRIWCg5BdHRyaWJ1dGVUeXBlMhgFIAEoBRIWCg5QYXJhbWV0ZXJU",
            "eXBlMhgGIAEoBRIOCgZWYWx1ZTIYByABKAUSFgoOQXR0cmlidXRlVHlwZTMY",
            "CCABKAUSFgoOUGFyYW1ldGVyVHlwZTMYCSABKAUSDgoGVmFsdWUzGAogASgF",
            "Il0KInRhYmxlX09uY2VBZGRpdGlvbmFsQXR0cmlidXRlVmFsdWUSNwoEbGlz",
            "dBgBIAMoCzIpLm5vdmEuY2xpZW50Lk9uY2VBZGRpdGlvbmFsQXR0cmlidXRl",
            "VmFsdWUiqQEKCE9wZW5GdW5jEgoKAklkGAEgASgFEgwKBE5hbWUYAiABKAkS",
            "FgoOTmVlZFdvcmxkQ2xhc3MYAyABKAUSFgoOTmVlZENvbmRpdGlvbnMYBCAB",
            "KAUSFQoNTmVlZFJvZ3VlbGlrZRgFIAEoBRISCgpQb3BXaW5kb3dzGAYgASgI",
            "EgwKBERlc2MYByABKAkSDAoESWNvbhgIIAEoCRIMCgRUaXBzGAkgASgJIjUK",
            "DnRhYmxlX09wZW5GdW5jEiMKBGxpc3QYASADKAsyFS5ub3ZhLmNsaWVudC5P",
            "cGVuRnVuYyJ+Cg1QZXJpb2RpY1F1ZXN0EgoKAklkGAEgASgFEg4KBkJlbG9u",
            "ZxgCIAEoBRIPCgdHcm91cGlkGAMgASgFEg0KBVRpdGxlGAQgASgJEg4KBkp1",
            "bXBUbxgFIAEoBRIOCgZSZXdhcmQYBiABKAUSEQoJUmV3YXJkUXR5GAcgASgF",
            "Ij8KE3RhYmxlX1BlcmlvZGljUXVlc3QSKAoEbGlzdBgBIAMoCzIaLm5vdmEu",
            "Y2xpZW50LlBlcmlvZGljUXVlc3Qi+QEKFFBlcmlvZGljUXVlc3RDb250cm9s",
            "EgoKAklkGAEgASgFEhQKDEZpbmFsUmV3YXJkMRgCIAEoBRIXCg9GaW5hbFJl",
            "d2FyZFF0eTEYAyABKAUSFAoMRmluYWxSZXdhcmQyGAQgASgFEhcKD0ZpbmFs",
            "UmV3YXJkUXR5MhgFIAEoBRIUCgxGaW5hbFJld2FyZDMYBiABKAUSFwoPRmlu",
            "YWxSZXdhcmRRdHkzGAcgASgFEg8KB0Rlc1RleHQYCCABKAkSEAoIVUlBc3Nl",
            "dHMYCSABKAkSEAoIQ3RybE5hbWUYCiABKAkSEwoLUHJldmlld1R5cGUYCyAB",
            "KAUiTQoadGFibGVfUGVyaW9kaWNRdWVzdENvbnRyb2wSLwoEbGlzdBgBIAMo",
            "CzIhLm5vdmEuY2xpZW50LlBlcmlvZGljUXVlc3RDb250cm9sIkkKElBlcmlv",
            "ZGljUXVlc3RHcm91cBIOCgZCZWxvbmcYASABKAUSDwoHR3JvdXBJZBgCIAEo",
            "BRISCgpVbmxvY2tUaW1lGAMgASgFIkkKGHRhYmxlX1BlcmlvZGljUXVlc3RH",
            "cm91cBItCgRsaXN0GAEgAygLMh8ubm92YS5jbGllbnQuUGVyaW9kaWNRdWVz",
            "dEdyb3VwIoQECgRQZXJrEgoKAklkGAEgASgFEhAKCE1heExldmVsGAIgASgF",
            "EhcKD0FkZGl0aW9uYWxMZXZlbBgDIAEoCBILCgNFRVQYBCABKAUSFAoMU2Nv",
            "cmVHcm91cElkGAUgASgFEhUKDVN0cmVuZ3RoU2NvcmUYBiADKAUSEAoIUGVy",
            "a1R5cGUYByABKAUSDgoGQ2hhcklkGAggASgFEhQKDENoYXJQZXJrVHlwZRgJ",
            "IAEoBRINCgVUaGVtZRgKIAEoBRISCgpHYW1lQm9va0lkGAsgASgFEhoKEk9w",
            "ZXJhdGluZ0Zsb29yVHlwZRgMIAMoBRIXCg9PcGVyYXRpbmdOdW1iZXIYDSAB",
            "KAUSDQoFUHJpY2UYDiABKAUSDAoEU2xvdBgPIAEoBRIMCgRUYWdzGBAgAygF",
            "EhIKClByZVBlcmtJZHMYESADKAUSEgoKUHJlVGFnUGtncxgSIAEoCRIRCglO",
            "ZWVkRmxvb3IYEyABKAUSFQoNRWZmZWN0R3JvdXBJZBgUIAEoBRITCgtJc0Vm",
            "ZmVjdGl2ZRgVIAEoCBIQCghQZXJrVGFnMRgWIAEoCRIQCghQZXJrVGFnMhgX",
            "IAEoCRIQCghQZXJrVGFnMxgYIAEoCRIQCghQZXJrVGFnNBgZIAEoCRIQCghM",
            "b2dvSWNvbhgaIAEoCRIPCgdTbG90VGFnGBsgASgJIi0KCnRhYmxlX1BlcmsS",
            "HwoEbGlzdBgBIAMoCzIRLm5vdmEuY2xpZW50LlBlcmsipwIKEFBlcmtQYXNz",
            "aXZlU2tpbGwSCgoCSWQYASABKAUSDwoHU2hhcmVDRBgCIAEoCBISCgpTaGFy",
            "ZVRpbWVzGAMgASgIEhEKCUVmZmVjdElkMRgEIAEoBRIRCglFZmZlY3RJZDIY",
            "BSABKAUSEQoJRWZmZWN0SWQzGAYgASgFEhEKCUVmZmVjdElkNBgHIAEoBRIM",
            "CgROYW1lGAggASgJEgwKBERlc2MYCSABKAkSDQoFRGVzYzEYCiABKAkSDgoG",
            "UGFyYW0xGAsgASgJEg0KBURlc2MyGAwgASgJEg4KBlBhcmFtMhgNIAEoCRIN",
            "CgVEZXNjMxgOIAEoCRIOCgZQYXJhbTMYDyABKAkSDQoFRGVzYzQYECABKAkS",
            "DgoGUGFyYW00GBEgASgJIkUKFnRhYmxlX1BlcmtQYXNzaXZlU2tpbGwSKwoE",
            "bGlzdBgBIAMoCzIdLm5vdmEuY2xpZW50LlBlcmtQYXNzaXZlU2tpbGwiJgoK",
            "UGxheWVySGVhZBIKCgJJZBgBIAEoBRIMCgRJY29uGAIgASgJIjkKEHRhYmxl",
            "X1BsYXllckhlYWQSJQoEbGlzdBgBIAMoCzIXLm5vdmEuY2xpZW50LlBsYXll",
            "ckhlYWQizwEKBFBsb3QSCgoCSWQYASABKAUSDAoEQ2hhchgCIAEoBRIMCgRO",
            "YW1lGAMgASgJEgwKBERlc2MYBCABKAkSDQoFQXZnSWQYBSABKAkSEQoJTWFp",
            "bmxpbmVzGAYgAygFEhsKE1VubG9ja0FmZmluaXR5TGV2ZWwYByABKAUSFQoN",
            "Q29ubmVjdENoYXRJZBgIIAEoBRIXCg9DaGFyQWR2YW5jZUNvbmQYCSABKAkS",
            "DwoHUmV3YXJkcxgKIAEoCRIRCglQaWNTb3VyY2UYCyABKAkiLQoKdGFibGVf",
            "UGxvdBIfCgRsaXN0GAEgAygLMhEubm92YS5jbGllbnQuUGxvdCLPBAoJUG90",
            "ZW50aWFsEgoKAklkGAEgASgFEg4KBkNoYXJJZBgCIAEoBRISCgpCcmFuY2hU",
            "eXBlGAMgASgFEhAKCE1heExldmVsGAQgASgFEhQKDFNjb3JlR3JvdXBJZBgF",
            "IAEoBRISCgpCdWlsZFNjb3JlGAYgAygFEhIKCkdhbWVCb29rSWQYByABKAUS",
            "FQoNRWZmZWN0R3JvdXBJZBgIIAEoBRITCgtJc0VmZmVjdGl2ZRgJIAEoCBIV",
            "Cg1Qb3RlbnRpYWxUYWcxGAogASgJEhUKDVBvdGVudGlhbFRhZzIYCyABKAkS",
            "FQoNUG90ZW50aWFsVGFnMxgMIAEoCRIVCg1Qb3RlbnRpYWxUYWc0GA0gASgJ",
            "Eg4KBkNvcm5lchgOIAEoBRIMCgRTcEJnGA8gASgJEg4KBlNwRmFjZRgQIAEo",
            "CRIRCglFZmZlY3RJZDEYESABKAUSEQoJRWZmZWN0SWQyGBIgASgFEhEKCUVm",
            "ZmVjdElkMxgTIAEoBRIRCglFZmZlY3RJZDQYFCABKAUSEQoJQnJpZWZEZXNj",
            "GBUgASgJEgwKBERlc2MYFiABKAkSDgoGUGFyYW0xGBcgASgJEg4KBlBhcmFt",
            "MhgYIAEoCRIOCgZQYXJhbTMYGSABKAkSDgoGUGFyYW00GBogASgJEg4KBlBh",
            "cmFtNRgbIAEoCRIOCgZQYXJhbTYYHCABKAkSDgoGUGFyYW03GB0gASgJEg4K",
            "BlBhcmFtOBgeIAEoCRIOCgZQYXJhbTkYHyABKAkSDwoHUGFyYW0xMBggIAEo",
            "CSI3Cg90YWJsZV9Qb3RlbnRpYWwSJAoEbGlzdBgBIAMoCzIWLm5vdmEuY2xp",
            "ZW50LlBvdGVudGlhbCL1AQoVUG90ZW50aWFsUGFzc2l2ZVNraWxsEgoKAklk",
            "GAEgASgFEg8KB1NoYXJlQ0QYAiABKAgSEgoKU2hhcmVUaW1lcxgDIAEoCBIR",
            "CglFZmZlY3RJZDEYBCABKAUSEQoJRWZmZWN0SWQyGAUgASgFEhEKCUVmZmVj",
            "dElkMxgGIAEoBRIRCglFZmZlY3RJZDQYByABKAUSEQoJQnJpZWZEZXNjGAgg",
            "ASgJEgwKBERlc2MYCSABKAkSDgoGUGFyYW0xGAogASgJEg4KBlBhcmFtMhgL",
            "IAEoCRIOCgZQYXJhbTMYDCABKAkSDgoGUGFyYW00GA0gASgJIk8KG3RhYmxl",
            "X1BvdGVudGlhbFBhc3NpdmVTa2lsbBIwCgRsaXN0GAEgAygLMiIubm92YS5j",
            "bGllbnQuUG90ZW50aWFsUGFzc2l2ZVNraWxsIm4KE1ByZXZpZXdNb25zdGVy",
            "R3JvdXASCgoCSWQYASABKAUSDwoHR3JvdXBJZBgCIAEoBRIcChRQcmV2aWV3",
            "TW9uc3Rlckxpc3RJZBgDIAEoBRINCgVNaW5MdhgEIAEoCRINCgVNYXhMdhgF",
            "IAEoCSJLChl0YWJsZV9QcmV2aWV3TW9uc3Rlckdyb3VwEi4KBGxpc3QYASAD",
            "KAsyIC5ub3ZhLmNsaWVudC5QcmV2aWV3TW9uc3Rlckdyb3VwIs0CChJQcmV2",
            "aWV3TW9uc3Rlckxpc3QSCgoCSWQYASABKAUSDAoESWNvbhgCIAEoCRIMCgRO",
            "YW1lGAMgASgJEhEKCVJlc2lzdEVFVBgEIAMoBRILCgNFRVQYBSADKAUSDAoE",
            "RGVzYxgGIAEoCRIRCglTa2lsbERlc2MYByABKAkSDgoGRXBpY0x2GAggASgF",
            "EgoKAkhQGAkgASgFEgsKA0FUSxgKIAEoBRILCgNERUYYCyABKAUSEQoJVE9V",
            "R0hORVNTGAwgASgFEhUKDUFiaWxpdHlUaXRsZTEYDSABKAkSFAoMQWJpbGl0",
            "eURlc2MxGA4gASgJEhUKDUFiaWxpdHlUaXRsZTIYDyABKAkSFAoMQWJpbGl0",
            "eURlc2MyGBAgASgJEhUKDUFiaWxpdHlUaXRsZTMYESABKAkSFAoMQWJpbGl0",
            "eURlc2MzGBIgASgJIkkKGHRhYmxlX1ByZXZpZXdNb25zdGVyTGlzdBItCgRs",
            "aXN0GAEgAygLMh8ubm92YS5jbGllbnQuUHJldmlld01vbnN0ZXJMaXN0IvID",
            "CgpQcm9kdWN0aW9uEgoKAklkGAEgASgFEgwKBE5hbWUYAiABKAkSDAoERGVz",
            "YxgDIAEoCRIUCgxQcm9kdWN0aW9uSWQYBCABKAUSGgoSUHJvZHVjdGlvblBl",
            "ckJhdGNoGAUgASgFEhgKEFNob3dQcm9kdWN0aW9uSWQYBiABKAUSHgoWU2hv",
            "d1Byb2R1Y3Rpb25QZXJCYXRjaBgHIAEoBRINCgVHcm91cBgIIAEoBRILCgNU",
            "YWcYCSABKAUSFgoOUmF3TWF0ZXJpYWxJZDEYCiABKAUSGQoRUmF3TWF0ZXJp",
            "YWxDb3VudDEYCyABKAUSFgoOUmF3TWF0ZXJpYWxJZDIYDCABKAUSGQoRUmF3",
            "TWF0ZXJpYWxDb3VudDIYDSABKAUSFgoOUmF3TWF0ZXJpYWxJZDMYDiABKAUS",
            "GQoRUmF3TWF0ZXJpYWxDb3VudDMYDyABKAUSFgoOUmF3TWF0ZXJpYWxJZDQY",
            "ECABKAUSGQoRUmF3TWF0ZXJpYWxDb3VudDQYESABKAUSGAoQSXNTaG93V29y",
            "bGRMZXZlbBgSIAEoBRIYChBVbmxvY2tXb3JsZExldmVsGBMgASgFEhEKCVVu",
            "bG9ja1RpcBgUIAEoCRIOCgZTb3J0SWQYFSABKAUSEQoJSXNBY3RpdmVkGBYg",
            "ASgIIjkKEHRhYmxlX1Byb2R1Y3Rpb24SJQoEbGlzdBgBIAMoCzIXLm5vdmEu",
            "Y2xpZW50LlByb2R1Y3Rpb24iPgoOUHJvZHVjdGlvblR5cGUSCgoCSWQYASAB",
            "KAUSEAoIVHlwZU5hbWUYAiABKAkSDgoGU29ydElkGAMgASgFIkEKFHRhYmxl",
            "X1Byb2R1Y3Rpb25UeXBlEikKBGxpc3QYASADKAsyGy5ub3ZhLmNsaWVudC5Q",
            "cm9kdWN0aW9uVHlwZSKPBgoSUmFuZG9tTGV2ZWxNb25zdGVyEgoKAklkGAEg",
            "ASgFEgwKBE5hbWUYAiABKAkSDgoGRXBpY0x2GAMgASgFEhEKCUJsb29kVHlw",
            "ZRgEIAEoBRILCgNFRVQYBSABKAUSDAoERkNJZBgGIAEoBRIMCgRGQUlkGAcg",
            "ASgFEg8KB01vdlR5cGUYCCABKAUSDgoGUnVuU3BkGAkgASgFEhUKDVRyYW5z",
            "U3BkU2NhbGUYCiABKAUSDwoHV2Fsa1NwZBgLIAEoBRIOCgZNb3ZBY2MYDCAB",
            "KAUSEQoJVmlzaW9uUm5nGA0gASgFEhEKCVZpc2lvbkRlZxgOIAEoBRIPCgdI",
            "ZWFyUm5nGA8gASgFEg4KBlJlZlJuZxgQIAEoBRIOCgZBY3RSbmcYESABKAUS",
            "EQoJRGlzQWN0Um5nGBIgASgFEg4KBlJvdFNwZBgTIAEoBRIQCghUZW1wbGV0",
            "ZRgUIAEoBRILCgNXRVAYFSABKAUSCwoDRkVQGBYgASgFEgsKA1NFUBgXIAEo",
            "BRILCgNBRVAYGCABKAUSCwoDTEVQGBkgASgFEgsKA0RFUBgaIAEoBRILCgNX",
            "RUUYGyABKAUSCwoDRkVFGBwgASgFEgsKA1NFRRgdIAEoBRILCgNBRUUYHiAB",
            "KAUSCwoDTEVFGB8gASgFEgsKA0RFRRggIAEoBRILCgNXRVIYISABKAUSCwoD",
            "RkVSGCIgASgFEgsKA1NFUhgjIAEoBRILCgNBRVIYJCABKAUSCwoDTEVSGCUg",
            "ASgFEgsKA0RFUhgmIAEoBRIPCgdCdWZmSWRzGCcgAygFEg4KBndlaWdodBgo",
            "IAEoBRISCgpUcmFwVGFnSWRzGCkgAygFEg8KB0ZhY3Rpb24YKiABKAUSEQoJ",
            "U3VwQ2hhcmdlGCsgASgFEhEKCUlzU2hvd1JuZxgsIAEoCBISCgpUcmFwQXR0",
            "cklkGC0gASgFEgwKBFRhZzEYLiABKAkSDAoEVGFnMhgvIAEoCRIMCgRUYWcz",
            "GDAgASgJEgwKBFRhZzQYMSABKAkSDAoEVGFnNRgyIAEoCSJJChh0YWJsZV9S",
            "YW5kb21MZXZlbE1vbnN0ZXISLQoEbGlzdBgBIAMoCzIfLm5vdmEuY2xpZW50",
            "LlJhbmRvbUxldmVsTW9uc3RlciIhCgRSYW5rEgwKBFJhbmsYASABKAUSCwoD",
            "RXhwGAIgASgFIi0KCnRhYmxlX1JhbmsSHwoEbGlzdBgBIAMoCzIRLm5vdmEu",
            "Y2xpZW50LlJhbmsi/gEKClJlZ2lvbkJvc3MSCgoCSWQYASABKAUSEQoJTW9u",
            "c3RlcklkGAIgASgFEhIKClJlZ2lvblR5cGUYAyABKAUSDAoETmFtZRgEIAEo",
            "CRIMCgRJY29uGAUgASgJEhcKD1VubG9ja0NvbmRpdGlvbhgGIAEoCRIVCg1O",
            "ZWVkUm9ndWVsaWtlGAcgASgFEgwKBFNvcnQYCCABKAUSDwoHT3BlbkRheRgJ",
            "IAMoBRITCgtPcGVuRGF5RGVzYxgKIAEoCRILCgNFRVQYCyADKAUSDwoHRXBp",
            "c29kZRgMIAEoCRINCgVJbWFnZRgNIAEoCRIQCghEcm9wSXRlbRgOIAMoBSI5",
            "ChB0YWJsZV9SZWdpb25Cb3NzEiUKBGxpc3QYASADKAsyFy5ub3ZhLmNsaWVu",
            "dC5SZWdpb25Cb3NzIqwBCg9SZWdpb25Cb3NzQWZmaXgSCgoCSWQYASABKAUS",
            "DwoHR3JvdXBJZBgCIAEoBRINCgVMZXZlbBgDIAEoBRIMCgROYW1lGAQgASgJ",
            "EgwKBERlc2MYBSABKAkSDAoESWNvbhgGIAEoCRIPCgdFbGVtZW50GAcgASgF",
            "Eg8KB0FkZENhbXAYCCADKAUSEAoIQWRkQ2xhc3MYCSADKAUSDwoHU2tpbGxJ",
            "ZBgKIAEoBSJDChV0YWJsZV9SZWdpb25Cb3NzQWZmaXgSKgoEbGlzdBgBIAMo",
            "CzIcLm5vdmEuY2xpZW50LlJlZ2lvbkJvc3NBZmZpeCKqAQoPUmVnaW9uQm9z",
            "c0Zsb29yEgoKAklkGAEgASgFEhEKCVNjZW5lTmFtZRgCIAEoCRIYChBDb25m",
            "aWdQcmVmYWJOYW1lGAMgASgJEg0KBVRoZW1lGAQgASgFEgsKA0JHTRgFIAEo",
            "CRIZChFMZWF2ZVRyaWdnZXJFdmVudBgGIAEoCRIRCglNb25zdGVyTHYYByAB",
            "KAUSFAoMRHVuZ2VvbkRlbGF5GAggASgFIkMKFXRhYmxlX1JlZ2lvbkJvc3NG",
            "bG9vchIqCgRsaXN0GAEgAygLMhwubm92YS5jbGllbnQuUmVnaW9uQm9zc0Zs",
            "b29yIr0FCg9SZWdpb25Cb3NzTGV2ZWwSCgoCSWQYASABKAUSFAoMUmVnaW9u",
            "Qm9zc0lkGAIgASgFEhIKCkRpZmZpY3VsdHkYAyABKAUSEgoKUmVnaW9uVHlw",
            "ZRgEIAEoBRIMCgROYW1lGAUgASgJEgwKBERlc2MYBiABKAkSDAoESWNvbhgH",
            "IAEoCRIWCg5TdWdnZXN0ZWRQb3dlchgIIAEoBRISCgpQcmVMZXZlbElkGAkg",
            "ASgFEhQKDEJvc3NTaG93VGltZRgKIAEoBRIUCgxQcmVMZXZlbFN0YXIYCyAB",
            "KAUSFgoOTmVlZFdvcmxkQ2xhc3MYDCABKAUSFQoNTmVlZFJvZ3VlbGlrZRgN",
            "IAEoBRIPCgdGbG9vcklkGA4gASgFEhgKEE9uZVN0YXJDb25kaXRpb24YDyAB",
            "KAkSGAoQVHdvU3RhckNvbmRpdGlvbhgQIAEoCRIaChJUaHJlZVN0YXJDb25k",
            "aXRpb24YESABKAkSDgoGRHJvcElkGBIgASgFEhUKDUVuZXJneUNvbnN1bWUY",
            "EyABKAUSGAoQQmFzZUF3YXJkUHJldmlldxgUIAEoCRIVCg1FbnRyeUdyb3Vw",
            "SWQxGBUgASgFEhgKEEVudHJ5R3JvdXBMZXZlbDEYFiABKAUSFQoNRW50cnlH",
            "cm91cElkMhgXIAEoBRIYChBFbnRyeUdyb3VwTGV2ZWwyGBggASgFEhUKDUVu",
            "dHJ5R3JvdXBJZDMYGSABKAUSGAoQRW50cnlHcm91cExldmVsMxgaIAEoBRIV",
            "Cg1FbnRyeUdyb3VwSWQ0GBsgASgFEhgKEEVudHJ5R3JvdXBMZXZlbDQYHCAB",
            "KAUSFQoNRW50cnlHcm91cElkNRgdIAEoBRIYChBFbnRyeUdyb3VwTGV2ZWw1",
            "GB4gASgFEhgKEEV4dHJhRHJvcFByZXZpZXcYHyADKAUiQwoVdGFibGVfUmVn",
            "aW9uQm9zc0xldmVsEioKBGxpc3QYASADKAsyHC5ub3ZhLmNsaWVudC5SZWdp",
            "b25Cb3NzTGV2ZWwirAMKDVJlc2lkZW50R29vZHMSCgoCSWQYASABKAUSDAoE",
            "TmFtZRgCIAEoCRIMCgREZXNjGAMgASgJEg4KBlNob3BJZBgEIAEoBRISCgpT",
            "YWxlTnVtYmVyGAUgASgFEg4KBkl0ZW1JZBgGIAEoBRIUCgxJdGVtUXVhbnRp",
            "dHkYByABKAUSFAoMTWF4aW11bUxpbWl0GAggASgFEhYKDkN1cnJlbmN5SXRl",
            "bUlkGAkgASgFEg0KBVByaWNlGAogASgFEhUKDU9yaWdpbmFsUHJpY2UYCyAB",
            "KAUSEAoIRGlzY291bnQYDCABKAUSFgoOQXBwZWFyQ29uZFR5cGUYDSABKAUS",
            "GAoQQXBwZWFyQ29uZFBhcmFtcxgOIAEoCRIYChBQdXJjaGFzZUNvbmRUeXBl",
            "GA8gASgFEhoKElB1cmNoYXNlQ29uZFBhcmFtcxgQIAEoCRITCgtVcFNoZWxm",
            "VGltZRgRIAEoCRIVCg1Eb3duU2hlbGZUaW1lGBIgASgJEhoKElVubG9ja1B1",
            "cmNoYXNlVGltZRgTIAEoCRITCgtEaXNwbGF5TW9kZRgUIAEoBSI/ChN0YWJs",
            "ZV9SZXNpZGVudEdvb2RzEigKBGxpc3QYASADKAsyGi5ub3ZhLmNsaWVudC5S",
            "ZXNpZGVudEdvb2RzIuMBCgxSZXNpZGVudFNob3ASCgoCSWQYASABKAUSEAoI",
            "U2hvcENvaW4YAiABKAUSDAoEVHlwZRgDIAEoBRIMCgROYW1lGAQgASgJEhAK",
            "CFNlcXVlbmNlGAUgASgFEhcKD1JlZnJlc2hUaW1lVHlwZRgGIAEoBRIXCg9S",
            "ZWZyZXNoSW50ZXJ2YWwYByABKAUSFgoOVW5sb2NrQ29uZFR5cGUYCCABKAUS",
            "GAoQVW5sb2NrQ29uZFBhcmFtcxgJIAEoCRIQCghPcGVuVGltZRgKIAEoCRIR",
            "CglDbG9zZVRpbWUYCyABKAkiPQoSdGFibGVfUmVzaWRlbnRTaG9wEicKBGxp",
            "c3QYASADKAsyGS5ub3ZhLmNsaWVudC5SZXNpZGVudFNob3AiXgoPU2NyaXB0",
            "UGFyYW1ldGVyEgoKAklkGAEgASgFEhUKDWxldmVsVHlwZURhdGEYAiABKAUS",
            "EQoJTGV2ZWxEYXRhGAMgASgFEhUKDU1haW5PclN1cHBvcnQYBCABKAUiQwoV",
            "dGFibGVfU2NyaXB0UGFyYW1ldGVyEioKBGxpc3QYASADKAsyHC5ub3ZhLmNs",
            "aWVudC5TY3JpcHRQYXJhbWV0ZXIiNgoUU2NyaXB0UGFyYW1ldGVyVmFsdWUS",
            "CgoCSWQYASABKAUSEgoKQ29tbW9uRGF0YRgCIAEoBSJNChp0YWJsZV9TY3Jp",
            "cHRQYXJhbWV0ZXJWYWx1ZRIvCgRsaXN0GAEgAygLMiEubm92YS5jbGllbnQu",
            "U2NyaXB0UGFyYW1ldGVyVmFsdWUi4QEKBlNoaWVsZBIKCgJJZBgBIAEoBRIM",
            "CgROYW1lGAIgASgJEhUKDWxldmVsVHlwZURhdGEYAyABKAUSEQoJTGV2ZWxE",
            "YXRhGAQgASgFEhUKDU1haW5PclN1cHBvcnQYBSABKAUSEgoKQmluZEVmZmVj",
            "dBgGIAEoCRISCgpTaGllbGRUYWcxGAcgASgFEhIKClNoaWVsZFRhZzIYCCAB",
            "KAUSEgoKU2hpZWxkVGFnMxgJIAEoBRIZChFUaW1lU3VwZXJwb3NpdGlvbhgK",
            "IAEoBRIRCglOb3RSZW1vdmUYCyABKAgiMQoMdGFibGVfU2hpZWxkEiEKBGxp",
            "c3QYASADKAsyEy5ub3ZhLmNsaWVudC5TaGllbGQi4QEKC1NoaWVsZFZhbHVl",
            "EgoKAklkGAEgASgFEgwKBE5hbWUYAiABKAkSFgoOQWJzb3JwdGlvbkJhc2UY",
            "AyABKAUSFwoPUmVmZXJlbmNlVGFyZ2V0GAQgASgFEhcKD1JlZmVyZW5jZUF0",
            "dHJpYhgFIAEoBRIWCg5SZWZlcmVuY2VTY2FsZRgGIAEoBRIMCgRUaW1lGAcg",
            "ASgFEhoKElNoaWVsZExhbWluYXRlZE51bRgIIAEoBRIZChFUaW1lU3VwZXJw",
            "b3NpdGlvbhgJIAEoBRIRCglOb3RSZW1vdmUYCiABKAgiOwoRdGFibGVfU2hp",
            "ZWxkVmFsdWUSJgoEbGlzdBgBIAMoCzIYLm5vdmEuY2xpZW50LlNoaWVsZFZh",
            "bHVlIlEKBlNpZ25JbhIKCgJJRBgBIAEoBRINCgVHcm91cBgCIAEoBRILCgNE",
            "YXkYAyABKAUSDgoGSXRlbUlkGAQgASgFEg8KB0l0ZW1RdHkYBSABKAUiMQoM",
            "dGFibGVfU2lnbkluEiEKBGxpc3QYASADKAsyEy5ub3ZhLmNsaWVudC5TaWdu",
            "SW4i7AMKBVNraWxsEgoKAklkGAEgASgFEg0KBVRpdGxlGAIgASgJEg4KBkZD",
            "UGF0aBgDIAEoCRIMCgRUeXBlGAQgASgFEgwKBERlc2MYBSABKAkSDAoESWNv",
            "bhgGIAEoCRIPCgdTa2lsbENEGAcgASgFEhAKCE1heExldmVsGAggASgFEhQK",
            "DFJlbGF0ZWRTa2lsbBgJIAEoCRIVCg1TZWN0aW9uQW1vdW50GAogASgFEhMK",
            "C1VzZUludGVydmFsGAsgASgFEhMKC1VzZVRpbWVIaW50GAwgASgFEhMKC1Vs",
            "dHJhRW5lcmd5GA0gASgFEhYKDkNoZWNrQ0RSZXN0b3JlGA4gASgIEhYKDkZv",
            "cmNlUnVuRmluaXNoGA8gASgIEhYKDkdldEVuZXJneUxpbWl0GBAgASgFEg4K",
            "BlBhcmFtMRgRIAEoCRIOCgZQYXJhbTIYEiABKAkSDgoGUGFyYW0zGBMgASgJ",
            "Eg4KBlBhcmFtNBgUIAEoCRIOCgZQYXJhbTUYFSABKAkSDgoGUGFyYW02GBYg",
            "ASgJEg4KBlBhcmFtNxgXIAEoCRIOCgZQYXJhbTgYGCABKAkSDgoGUGFyYW05",
            "GBkgASgJEg8KB1BhcmFtMTAYGiABKAkSFgoOSXNDbGVhblNraWxsQ0QYGyAB",
            "KAgiLwoLdGFibGVfU2tpbGwSIAoEbGlzdBgBIAMoCzISLm5vdmEuY2xpZW50",
            "LlNraWxsIisKC1NraWxsRGFtYWdlEgoKAklkGAEgASgFEhAKCExWRGFtYWdl",
            "GAIgAygFIjsKEXRhYmxlX1NraWxsRGFtYWdlEiYKBGxpc3QYASADKAsyGC5u",
            "b3ZhLmNsaWVudC5Ta2lsbERhbWFnZSK2BAoJU3RhclRvd2VyEgoKAklkGAEg",
            "ASgFEgwKBE5hbWUYAiABKAkSDAoERGVzYxgDIAEoCRIPCgdHcm91cElkGAQg",
            "ASgFEhUKDVByZUNvbmRpdGlvbnMYBSABKAkSHQoVUHJldmlld01vbnN0ZXJH",
            "cm91cElkGAYgASgFEhIKCkRpZmZpY3VsdHkYByABKAUSFwoPVmFsdWVEaWZm",
            "aWN1bHR5GAggASgFEhEKCVJlY29tbWVuZBgJIAEoBRISCgpDdXJyZW5jeUlk",
            "GAogASgFEhUKDVN0YWdlR3JvdXBJZHMYCyADKAUSEAoIRmxvb3JOdW0YDCAD",
            "KAUSFgoOVGVhbUV4cEdyb3VwSWQYDSABKAUSCwoDRUVUGA4gAygFEg4KBk5v",
            "dEVFVBgPIAMoBRIPCgdFcGlzb2RlGBAgASgJEg0KBUltYWdlGBEgASgJEg0K",
            "BU5QQ0lkGBIgASgFEhUKDVJld2FyZFByZXZpZXcYEyABKAkSDwoHU2hvcE5w",
            "YxgUIAEoBRIUCgxTdGFuZFNob3BOcGMYFSABKAUSEgoKVXBncmFkZU5wYxgW",
            "IAEoBRIRCglSZXNxdWVOcGMYFyABKAUSEQoJRGFuZ2VyTnBjGBggASgFEhEK",
            "CUhvcnJvck5wYxgZIAEoBRIWCg5EYW5nZXJFbmRFdmVudBgaIAEoBRIWCg5I",
            "b3Jyb3JFbmRFdmVudBgbIAEoBRIeChZEZXN0cnVjdGlibGVPYmplY3RUeXBl",
            "GBwgASgFIjcKD3RhYmxlX1N0YXJUb3dlchIkCgRsaXN0GAEgAygLMhYubm92",
            "YS5jbGllbnQuU3RhclRvd2VyIsQDChhTdGFyVG93ZXJCYXR0bGVUaHJlc2hv",
            "bGQSEQoJTWlzc2lvbklkGAEgASgFEg8KB1ZlcnNpb24YAiABKAUSEgoKZnJv",
            "bVNyY0F0axgDIAEoBRIeChZmcm9tUGVya0ludGVuc2l0eVJhdGlvGAQgASgF",
            "EhgKEGZyb21TbG90RG1nUmF0aW8YBSABKAUSDgoGZnJvbUVFGAYgASgFEhcK",
            "D2Zyb21HZW5EbWdSYXRpbxgHIAEoBRITCgtmcm9tRG1nUGx1cxgIIAEoBRIV",
            "Cg1mcm9tQ3JpdFJhdGlvGAkgASgFEhkKEWZyb21GaW5hbERtZ1JhdGlvGAog",
            "ASgFEhgKEGZyb21GaW5hbERtZ1BsdXMYCyABKAUSEQoJdG9FckFtZW5kGAwg",
            "ASgFEhIKCnRvRGVmQW1lbmQYDSABKAUSGQoRdG9SY2RTbG90RG1nUmF0aW8Y",
            "DiABKAUSDwoHdG9FRVJDRBgPIAEoBRIYChB0b0dlbkRtZ1JjZFJhdGlvGBAg",
            "ASgFEhQKDHRvRG1nUGx1c1JjZBgRIAEoBRILCgNEbWcYEiABKAUSEAoIQ3Jp",
            "dFJhdGUYEyABKAUSCgoCSHAYFCABKAUiVQoedGFibGVfU3RhclRvd2VyQmF0",
            "dGxlVGhyZXNob2xkEjMKBGxpc3QYASADKAsyJS5ub3ZhLmNsaWVudC5TdGFy",
            "VG93ZXJCYXR0bGVUaHJlc2hvbGQiUQoVU3RhclRvd2VyQm9va0VudHJhbmNl",
            "EgoKAklkGAEgASgFEgwKBEljb24YAiABKAkSEAoIUG9zaXRpb24YAyABKAkS",
            "DAoERGVzYxgEIAEoCSJPCht0YWJsZV9TdGFyVG93ZXJCb29rRW50cmFuY2US",
            "MAoEbGlzdBgBIAMoCzIiLm5vdmEuY2xpZW50LlN0YXJUb3dlckJvb2tFbnRy",
            "YW5jZSKjAQoYU3RhclRvd2VyQm9va0V2ZW50UmV3YXJkEgoKAklkGAEgASgF",
            "EgwKBE5hbWUYAiABKAkSDQoFU3RvcnkYAyABKAkSDQoFTlBDSWQYBCABKAUS",
            "DAoEU29ydBgFIAEoBRIOCgZTb3VyY2UYBiABKAkSDgoGSXRlbUlkGAcgASgF",
            "Eg8KB0l0ZW1RdHkYCCABKAUSEAoISXNCYW5uZWQYCSABKAgiVQoedGFibGVf",
            "U3RhclRvd2VyQm9va0V2ZW50UmV3YXJkEjMKBGxpc3QYASADKAsyJS5ub3Zh",
            "LmNsaWVudC5TdGFyVG93ZXJCb29rRXZlbnRSZXdhcmQi3AEKFVN0YXJUb3dl",
            "ckJvb2tGYXRlQ2FyZBIKCgJJZBgBIAEoBRIQCghCdW5kbGVJZBgCIAEoBRIM",
            "CgRJY29uGAMgASgJEg4KBlNvcnRJZBgEIAEoBRIOCgZTb3VyY2UYBSABKAkS",
            "EQoJVW5sb2NrVGlwGAYgASgJEhIKCldvcmxkQ2xhc3MYByABKAUSEwoLU3Rh",
            "clRvd2VySWQYCCABKAUSFAoMQ29sbGVjdENhcmRzGAkgAygFEhMKC1VubG9j",
            "a0NhcmRzGAogAygFEhAKCElzQmFubmVkGAsgASgIIk8KG3RhYmxlX1N0YXJU",
            "b3dlckJvb2tGYXRlQ2FyZBIwCgRsaXN0GAEgAygLMiIubm92YS5jbGllbnQu",
            "U3RhclRvd2VyQm9va0ZhdGVDYXJkIvABChtTdGFyVG93ZXJCb29rRmF0ZUNh",
            "cmRCdW5kbGUSCgoCSWQYASABKAUSDAoETmFtZRgCIAEoCRIRCglTaG9ydE5h",
            "bWUYAyABKAkSDgoGU29ydElkGAQgASgFEgsKA1RhZxgFIAEoCRIRCglTbWFs",
            "bEljb24YBiABKAkSEgoKQnVuZGxlSWNvbhgHIAEoCRIMCgRJY29uGAggASgJ",
            "EhIKCldvcmxkQ2xhc3MYCSABKAUSEwoLU3RhclRvd2VySWQYCiABKAUSFAoM",
            "Q29sbGVjdENhcmRzGAsgAygFEhMKC1VubG9ja0NhcmRzGAwgAygFIlsKIXRh",
            "YmxlX1N0YXJUb3dlckJvb2tGYXRlQ2FyZEJ1bmRsZRI2CgRsaXN0GAEgAygL",
            "Migubm92YS5jbGllbnQuU3RhclRvd2VyQm9va0ZhdGVDYXJkQnVuZGxlIsYB",
            "ChpTdGFyVG93ZXJCb29rRmF0ZUNhcmRRdWVzdBIKCgJJZBgBIAEoBRIQCghC",
            "dW5kbGVJZBgCIAEoBRIMCgREZXNjGAMgASgJEhIKCkZpbmlzaFR5cGUYBCAB",
            "KAUSFAoMRmluaXNoUGFyYW1zGAUgASgJEgwKBFRpZDEYBiABKAUSDAoEUXR5",
            "MRgHIAEoBRIMCgRUaWQyGAggASgFEgwKBFF0eTIYCSABKAUSDAoEVGlkMxgK",
            "IAEoBRIMCgRRdHkzGAsgASgFIlkKIHRhYmxlX1N0YXJUb3dlckJvb2tGYXRl",
            "Q2FyZFF1ZXN0EjUKBGxpc3QYASADKAsyJy5ub3ZhLmNsaWVudC5TdGFyVG93",
            "ZXJCb29rRmF0ZUNhcmRRdWVzdCKVAQocU3RhclRvd2VyQm9va1BvdGVudGlh",
            "bFJld2FyZBIKCgJJZBgBIAEoBRIOCgZDaGFySWQYAiABKAUSDAoERGVzYxgD",
            "IAEoCRIMCgRTb3J0GAQgASgFEgwKBENvbmQYBSABKAUSDgoGUGFyYW1zGAYg",
            "ASgJEg4KBkl0ZW1JZBgHIAEoBRIPCgdJdGVtUXR5GAggASgFIl0KInRhYmxl",
            "X1N0YXJUb3dlckJvb2tQb3RlbnRpYWxSZXdhcmQSNwoEbGlzdBgBIAMoCzIp",
            "Lm5vdmEuY2xpZW50LlN0YXJUb3dlckJvb2tQb3RlbnRpYWxSZXdhcmQiQgoS",
            "U3RhclRvd2VyQnVpbGRSYW5rEgoKAklkGAEgASgFEhAKCE1pbkdyYWRlGAIg",
            "ASgFEg4KBlJhcml0eRgDIAEoBSJJChh0YWJsZV9TdGFyVG93ZXJCdWlsZFJh",
            "bmsSLQoEbGlzdBgBIAMoCzIfLm5vdmEuY2xpZW50LlN0YXJUb3dlckJ1aWxk",
            "UmFuayJ/ChRTdGFyVG93ZXJDb21iYXRFdmVudBIKCgJJZBgBIAEoBRIMCgRO",
            "YW1lGAIgASgJEgwKBFR5cGUYAyABKAUSDgoGUGFyYW1zGAQgASgJEg4KBkFj",
            "dGl2ZRgFIAEoBRINCgVTdGFydBgGIAEoBRIQCghJbnRlcmFjdBgHIAEoBSJN",
            "Chp0YWJsZV9TdGFyVG93ZXJDb21iYXRFdmVudBIvCgRsaXN0GAEgAygLMiEu",
            "bm92YS5jbGllbnQuU3RhclRvd2VyQ29tYmF0RXZlbnQiLwoOU3RhclRvd2Vy",
            "Q29tYm8SCgoCSWQYASABKAUSEQoJQmF0dGxlTHZzGAIgAygFIkEKFHRhYmxl",
            "X1N0YXJUb3dlckNvbWJvEikKBGxpc3QYASADKAsyGy5ub3ZhLmNsaWVudC5T",
            "dGFyVG93ZXJDb21ibyJiChFTdGFyVG93ZXJEcm9wSXRlbRIKCgJJZBgBIAEo",
            "BRIMCgRUeXBlGAIgASgFEhYKDkRyb3BTcGxpdFJhbmdlGAMgAygFEgwKBFJh",
            "dGUYBCADKAUSDQoFTW9kZWwYBSABKAkiRwoXdGFibGVfU3RhclRvd2VyRHJv",
            "cEl0ZW0SLAoEbGlzdBgBIAMoCzIeLm5vdmEuY2xpZW50LlN0YXJUb3dlckRy",
            "b3BJdGVtIoIBChFTdGFyVG93ZXJFbmVteVNldBINCgVTZXRJZBgBIAEoBRIP",
            "CgdXYXZlTnVtGAIgASgFEg4KBk1heE51bRgDIAEoBRIVCg1NYXhOdW1QZXJX",
            "YXZlGAQgASgFEhEKCU1vbnN0ZXJJZBgFIAEoBRITCgtSZWZJbnRlcnZhbBgG",
            "IAEoAiJHChd0YWJsZV9TdGFyVG93ZXJFbmVteVNldBIsCgRsaXN0GAEgAygL",
            "Mh4ubm92YS5jbGllbnQuU3RhclRvd2VyRW5lbXlTZXQipgEKDlN0YXJUb3dl",
            "ckV2ZW50EgoKAklkGAEgASgFEg8KB0dyb3VwSWQYAiABKAUSFgoOT3B0aW9u",
            "c1J1bGVzSWQYAyABKAUSDAoERGVzYxgEIAEoCRIRCglFdmVudFR5cGUYBSAB",
            "KAUSFwoPR3VhcmFudGVlZE1hcElkGAYgASgFEgsKA05wYxgHIAMoBRIYChBS",
            "ZWxhdGVkQ2hhcmFjdGVyGAggASgFIkEKFHRhYmxlX1N0YXJUb3dlckV2ZW50",
            "EikKBGxpc3QYASADKAsyGy5ub3ZhLmNsaWVudC5TdGFyVG93ZXJFdmVudCJj",
            "ChRTdGFyVG93ZXJFdmVudEFjdGlvbhIKCgJJZBgBIAEoBRIPCgdFdmVudElk",
            "GAIgASgFEhEKCVRyaWdWb2ljZRgDIAEoCRIMCgREZXNjGAQgASgJEg0KBUdy",
            "b3VwGAUgASgFIk0KGnRhYmxlX1N0YXJUb3dlckV2ZW50QWN0aW9uEi8KBGxp",
            "c3QYASADKAsyIS5ub3ZhLmNsaWVudC5TdGFyVG93ZXJFdmVudEFjdGlvbiJX",
            "ChpTdGFyVG93ZXJFdmVudE9wdGlvbkFjdGlvbhIKCgJJZBgBIAEoBRIQCghP",
            "cHRpb25JZBgCIAEoBRIMCgREZXNjGAMgASgJEg0KBUdyb3VwGAQgASgFIlkK",
            "IHRhYmxlX1N0YXJUb3dlckV2ZW50T3B0aW9uQWN0aW9uEjUKBGxpc3QYASAD",
            "KAsyJy5ub3ZhLmNsaWVudC5TdGFyVG93ZXJFdmVudE9wdGlvbkFjdGlvbiLH",
            "AQoOU3RhclRvd2VyRmxvb3ISCgoCSWQYASABKAUSGgoSQ29tbW9uR2FtZXBs",
            "YXlUeXBlGAIgASgFEhgKEENvbW1vbk1vbnN0ZXJTZXQYAyABKAkSEQoJTGlt",
            "aXRUaW1lGAQgASgFEhkKEURyb3BPYmplY3RHcm91cElkGAUgASgFEhYKDkRy",
            "b3BPYmplY3RSYXRlGAYgASgFEhIKCkRyb3BNYXhOdW0YByABKAUSGQoRTW9u",
            "c3RlclN1cnBsdXNOdW0YCCABKAUiQQoUdGFibGVfU3RhclRvd2VyRmxvb3IS",
            "KQoEbGlzdBgBIAMoCzIbLm5vdmEuY2xpZW50LlN0YXJUb3dlckZsb29yIpMB",
            "ChNTdGFyVG93ZXJGbG9vckF3YXJkEgoKAklkGAEgASgFEhMKC1JvZ3VlbGlr",
            "ZUlkGAIgASgFEhMKC0NvbWJhdEZsb29yGAMgASgFEiAKGEludGVyaW9yQ3Vy",
            "cmVuY3lRdWFudGl0eRgEIAEoBRISCgpOZWVkRW5lcmd5GAUgASgFEhAKCEFm",
            "ZmluaXR5GAYgASgFIksKGXRhYmxlX1N0YXJUb3dlckZsb29yQXdhcmQSLgoE",
            "bGlzdBgBIAMoCzIgLm5vdmEuY2xpZW50LlN0YXJUb3dlckZsb29yQXdhcmQi",
            "tQEKEVN0YXJUb3dlckZsb29yRXhwEgoKAklkGAEgASgFEhMKC1N0YXJUb3dl",
            "cklkGAIgASgFEg0KBVN0YWdlGAMgASgFEhEKCU5vcm1hbEV4cBgEIAEoBRIQ",
            "CghFbGl0ZUV4cBgFIAEoBRIPCgdCb3NzRXhwGAYgASgFEhQKDEZpbmFsQm9z",
            "c0V4cBgHIAEoBRIRCglEYW5nZXJFeHAYCCABKAUSEQoJSG9ycm9yRXhwGAkg",
            "ASgFIkcKF3RhYmxlX1N0YXJUb3dlckZsb29yRXhwEiwKBGxpc3QYASADKAsy",
            "Hi5ub3ZhLmNsaWVudC5TdGFyVG93ZXJGbG9vckV4cCL2AQoRU3RhclRvd2Vy",
            "Rmxvb3JTZXQSCgoCSWQYASABKAUSEQoJQmF0dGxlTHZzGAIgASgFEg0KBVN0",
            "YWdlGAMgAygFEhAKCFJvb21UeXBlGAQgASgFEg0KBU1hcElEGAUgAygFEg8K",
            "B0Zsb29ySUQYBiADKAUSEQoJTW9uc3Rlckx2GAcgASgFEhQKDFRoZW1lU2tp",
            "bGxMdhgIIAEoBRIOCgZXZWlnaHQYCSABKAUSEgoKTXV0ZXhHcm91cBgKIAMo",
            "BRIVCg1TcGVjaWFsTW9kZUlkGAsgASgFEh0KFU1vbnN0ZXJHcm91cEJsYWNr",
            "bGlzdBgMIAMoBSJHChd0YWJsZV9TdGFyVG93ZXJGbG9vclNldBIsCgRsaXN0",
            "GAEgAygLMh4ubm92YS5jbGllbnQuU3RhclRvd2VyRmxvb3JTZXQifQoOU3Rh",
            "clRvd2VyR3JvdXASCgoCSWQYASABKAUSDAoETmFtZRgCIAEoCRILCgNFRVQY",
            "AyADKAUSDwoHRXBpc29kZRgEIAEoCRIMCgRTb3J0GAUgASgFEhEKCUdyb3Vw",
            "VHlwZRgGIAEoBRISCgpHcm91cFRoZW1lGAcgASgFIkEKFHRhYmxlX1N0YXJU",
            "b3dlckdyb3VwEikKBGxpc3QYASADKAsyGy5ub3ZhLmNsaWVudC5TdGFyVG93",
            "ZXJHcm91cCJWChRTdGFyVG93ZXJHcm93dGhHcm91cBIKCgJJZBgBIAEoBRIQ",
            "CghQcmVHcm91cBgCIAEoBRISCgpXb3JsZENsYXNzGAMgASgFEgwKBE5hbWUY",
            "BCABKAkiTQoadGFibGVfU3RhclRvd2VyR3Jvd3RoR3JvdXASLwoEbGlzdBgB",
            "IAMoCzIhLm5vdmEuY2xpZW50LlN0YXJUb3dlckdyb3d0aEdyb3VwIvYCChNT",
            "dGFyVG93ZXJHcm93dGhOb2RlEgoKAklkGAEgASgFEg4KBk5vZGVJZBgCIAEo",
            "BRINCgVHcm91cBgDIAEoBRIMCgROYW1lGAQgASgJEhAKCElzU2VydmVyGAUg",
            "ASgIEhAKCElzQ2xpZW50GAYgASgIEgwKBFR5cGUYByABKAUSDQoFQ29sb3IY",
            "CCABKAUSEAoIUHJlTm9kZXMYCSADKAUSFAoMRWZmZWN0Q2xpZW50GAogASgF",
            "EhQKDENsaWVudFBhcmFtcxgLIAEoCRIQCghQcmlvcml0eRgMIAEoBRIMCgRJ",
            "Y29uGA0gASgJEhAKCFBvc2l0aW9uGA4gAygFEgwKBERlc2MYDyABKAkSDwoH",
            "SXRlbUlkMRgQIAEoBRIQCghJdGVtUXR5MRgRIAEoBRIPCgdJdGVtSWQyGBIg",
            "ASgFEhAKCEl0ZW1RdHkyGBMgASgFEg8KB0l0ZW1JZDMYFCABKAUSEAoISXRl",
            "bVF0eTMYFSABKAUiSwoZdGFibGVfU3RhclRvd2VyR3Jvd3RoTm9kZRIuCgRs",
            "aXN0GAEgAygLMiAubm92YS5jbGllbnQuU3RhclRvd2VyR3Jvd3RoTm9kZSKv",
            "AQoVU3RhclRvd2VySGFybW9ueVNraWxsEgoKAklkGAEgASgFEg4KBlJhcml0",
            "eRgCIAEoBRIMCgROYW1lGAMgASgJEgsKA1RhZxgEIAEoBRINCgVTY29yZRgF",
            "IAEoBRIQCghFZmZlY3RJZBgGIAMoBRIMCgREZXNjGAcgASgJEgwKBEljb24Y",
            "CCABKAkSDgoGSWNvbkJnGAkgASgJEhIKCkljb25Db3JuZXIYCiABKAkiTwob",
            "dGFibGVfU3RhclRvd2VySGFybW9ueVNraWxsEjAKBGxpc3QYASADKAsyIi5u",
            "b3ZhLmNsaWVudC5TdGFyVG93ZXJIYXJtb255U2tpbGwiawoUU3RhclRvd2Vy",
            "TGltaXRSZXdhcmQSCgoCSWQYASABKAUSDQoFU3RhZ2UYAiABKAUSEwoLU3Rh",
            "clRvd2VySWQYAyABKAUSEAoIUm9vbVR5cGUYBCABKAUSEQoJVGltZUxpbWl0",
            "GAUgAygFIk0KGnRhYmxlX1N0YXJUb3dlckxpbWl0UmV3YXJkEi8KBGxpc3QY",
            "ASADKAsyIS5ub3ZhLmNsaWVudC5TdGFyVG93ZXJMaW1pdFJld2FyZCLIAQoM",
            "U3RhclRvd2VyTWFwEgoKAklkGAEgASgFEhAKCFNjZW5lUmVzGAIgASgJEhIK",
            "CkJHU2NlbmVSZXMYAyABKAkSDQoFVGhlbWUYBCABKAUSEQoJUHJlZmFiTnVt",
            "GAUgAygFEgsKA01pchgGIAEoCBISCgpPdXRQb3J0TnVtGAcgASgFEhMKC091",
            "dFBvcnRIaW50GAggASgIEg4KBkJHTVJlcxgJIAEoCRIeChZDb21wbGV0ZVNv",
            "dW5kRWZmZWN0UmVzGAogASgJIj0KEnRhYmxlX1N0YXJUb3dlck1hcBInCgRs",
            "aXN0GAEgAygLMhkubm92YS5jbGllbnQuU3RhclRvd2VyTWFwIkAKGlN0YXJU",
            "b3dlck1hcE1heE51bVBlclN0YWdlEgoKAklkGAEgASgFEhYKDk1heE51bVBl",
            "clN0YWdlGAIgASgFIlkKIHRhYmxlX1N0YXJUb3dlck1hcE1heE51bVBlclN0",
            "YWdlEjUKBGxpc3QYASADKAsyJy5ub3ZhLmNsaWVudC5TdGFyVG93ZXJNYXBN",
            "YXhOdW1QZXJTdGFnZSJ3ChlTdGFyVG93ZXJNb25zdGVyQm9ybkdyb3VwEg8K",
            "B0dyb3VwSWQYASABKAUSEQoJTW9uc3RlcklkGAIgASgFEhIKCkRpZmZpY3Vs",
            "dHkYAyABKAUSEAoITWluRmxvb3IYBCABKAUSEAoITWF4Rmxvb3IYBSABKAUi",
            "VwofdGFibGVfU3RhclRvd2VyTW9uc3RlckJvcm5Hcm91cBI0CgRsaXN0GAEg",
            "AygLMiYubm92YS5jbGllbnQuU3RhclRvd2VyTW9uc3RlckJvcm5Hcm91cCLT",
            "AQoWU3RhclRvd2VyTW9uc3RlclNwQXR0chIKCgJJZBgBIAEoBRIXCg9Nb25z",
            "dGVyUG9zaXRpb24YAiABKAUSEwoLVGhlbWVTa2lsbHMYAyABKAkSHQoVQ29u",
            "dGludW91c0tpbGxpbmdUaW1lGAQgASgFEhsKE1JvdWdlTW9uZXlEcm9wUmFu",
            "Z2UYBSADKAUSGQoRUm91Z2VFeHBEcm9wUmFuZ2UYBiADKAUSEwoLUmVmRGlz",
            "dGFuY2UYByADKAUSEwoLUmVmSW50ZXJ2YWwYCCABKAUiUQocdGFibGVfU3Rh",
            "clRvd2VyTW9uc3RlclNwQXR0chIxCgRsaXN0GAEgAygLMiMubm92YS5jbGll",
            "bnQuU3RhclRvd2VyTW9uc3RlclNwQXR0ciLcAQoOU3RhclRvd2VyUXVlc3QS",
            "CgoCSWQYASABKAUSDQoFVGl0bGUYAiABKAkSDgoGSnVtcFRvGAMgASgFEhYK",
            "DlRvd2VyUXVlc3RUeXBlGAQgASgFEhgKEFByZVRvd2VyUXVlc3RJZHMYBSAD",
            "KAUSDwoHUmV3YXJkMRgGIAEoBRISCgpSZXdhcmRRdHkxGAcgASgFEg8KB1Jl",
            "d2FyZDIYCCABKAUSEgoKUmV3YXJkUXR5MhgJIAEoBRIPCgdSZXdhcmQzGAog",
            "ASgFEhIKClJld2FyZFF0eTMYCyABKAUiQQoUdGFibGVfU3RhclRvd2VyUXVl",
            "c3QSKQoEbGlzdBgBIAMoCzIbLm5vdmEuY2xpZW50LlN0YXJUb3dlclF1ZXN0",
            "IlwKElN0YXJUb3dlclJhbmtBZmZpeBIKCgJJZBgBIAEoBRIMCgROYW1lGAIg",
            "ASgJEgwKBERlc2MYAyABKAkSDgoGUmFyaXR5GAQgASgFEg4KBkVmZmVjdBgF",
            "IAMoBSJJChh0YWJsZV9TdGFyVG93ZXJSYW5rQWZmaXgSLQoEbGlzdBgBIAMo",
            "CzIfLm5vdmEuY2xpZW50LlN0YXJUb3dlclJhbmtBZmZpeCKQAQoTU3RhclRv",
            "d2VyUmFua1Jld2FyZBIKCgJJZBgBIAEoBRIRCglSYW5rTG93ZXIYAiABKAUS",
            "FQoNQXdhcmRJdGVtVGlkMRgDIAEoBRIVCg1Bd2FyZEl0ZW1OdW0xGAQgASgF",
            "EhUKDUF3YXJkSXRlbVRpZDIYBSABKAUSFQoNQXdhcmRJdGVtTnVtMhgGIAEo",
            "BSJLChl0YWJsZV9TdGFyVG93ZXJSYW5rUmV3YXJkEi4KBGxpc3QYASADKAsy",
            "IC5ub3ZhLmNsaWVudC5TdGFyVG93ZXJSYW5rUmV3YXJkIlEKElN0YXJUb3dl",
            "clJhbmtTY29yZRISCgpEaWZmaWN1bHR5GAEgASgFEhEKCUJhc2VTY29yZRgC",
            "IAEoBRIUCgxNYXhpbXVtU2NvcmUYAyABKAUiSQoYdGFibGVfU3RhclRvd2Vy",
            "UmFua1Njb3JlEi0KBGxpc3QYASADKAsyHy5ub3ZhLmNsaWVudC5TdGFyVG93",
            "ZXJSYW5rU2NvcmUi4QEKE1N0YXJUb3dlclJhbmtTZWFzb24SCgoCSWQYASAB",
            "KAUSDwoHR3JvdXBJZBgCIAEoBRIQCghPcGVuVGltZRgDIAEoCRIPCgdFbmRU",
            "aW1lGAQgASgJEg4KBkFmZml4MRgFIAEoBRIRCglBZmZpeEFkZDEYBiADKAUS",
            "DgoGQWZmaXgyGAcgASgFEhEKCUFmZml4QWRkMhgIIAMoBRIOCgZBZmZpeDMY",
            "CSABKAUSEQoJQWZmaXhBZGQzGAogAygFEg4KBkFmZml4NBgLIAEoBRIRCglB",
            "ZmZpeEFkZDQYDCADKAUiSwoZdGFibGVfU3RhclRvd2VyUmFua1NlYXNvbhIu",
            "CgRsaXN0GAEgAygLMiAubm92YS5jbGllbnQuU3RhclRvd2VyUmFua1NlYXNv",
            "biJeChRTdGFyVG93ZXJTY2VuZVByZWZhYhIKCgJJZBgBIAEoBRIRCglDb25m",
            "aWdSZXMYAiABKAkSEAoIQmlhblF1YW4YAyABKAkSFQoNR2FtZXBsYXlUeXBl",
            "cxgEIAMoBSJNChp0YWJsZV9TdGFyVG93ZXJTY2VuZVByZWZhYhIvCgRsaXN0",
            "GAEgAygLMiEubm92YS5jbGllbnQuU3RhclRvd2VyU2NlbmVQcmVmYWIiNwoX",
            "U3RhclRvd2VyU2hvcEdvb2RzR3JvdXASCgoCSWQYASABKAUSEAoIU2hvd0l0",
            "ZW0YAiABKAUiUwoddGFibGVfU3RhclRvd2VyU2hvcEdvb2RzR3JvdXASMgoE",
            "bGlzdBgBIAMoCzIkLm5vdmEuY2xpZW50LlN0YXJUb3dlclNob3BHb29kc0dy",
            "b3VwImAKF1N0YXJUb3dlclNwZWNpZmljQ29tYmF0EgoKAklkGAEgASgFEgwK",
            "BE5hbWUYAiABKAkSDAoERGVzYxgDIAEoCRIMCgRUeXBlGAQgASgFEg8KB0V2",
            "ZW50SWQYBSABKAUiUwoddGFibGVfU3RhclRvd2VyU3BlY2lmaWNDb21iYXQS",
            "MgoEbGlzdBgBIAMoCzIkLm5vdmEuY2xpZW50LlN0YXJUb3dlclNwZWNpZmlj",
            "Q29tYmF0IogBCg9TdGFyVG93ZXJTcE1vZGUSCgoCSWQYASABKAUSFwoPTGlt",
            "aXRUaW1lV2VpZ2h0GAIgASgIEhkKEUxpbWl0S2lsbGVkV2VpZ2h0GAMgASgI",
            "EhQKDEdvYmxpbldlaWdodBgEIAEoCBIfChdDb250aW51b3VzS2lsbGluZ1dl",
            "aWdodBgFIAEoCCJDChV0YWJsZV9TdGFyVG93ZXJTcE1vZGUSKgoEbGlzdBgB",
            "IAMoCzIcLm5vdmEuY2xpZW50LlN0YXJUb3dlclNwTW9kZSK5AQoOU3RhclRv",
            "d2VyU3RhZ2USCgoCSWQYASABKAUSDQoFU3RhZ2UYAiABKAUSDwoHR3JvdXBJ",
            "ZBgDIAEoBRINCgVGbG9vchgEIAEoBRIQCghSb29tVHlwZRgFIAEoBRIgChhJ",
            "bnRlcmlvckN1cnJlbmN5UXVhbnRpdHkYBiABKAUSFwoPR3VhcmFudGVlZE1h",
            "cElkGAcgASgFEh8KF0d1YXJhbnRlZWRNb25zdGVyUGxhbklkGAggASgFIkEK",
            "FHRhYmxlX1N0YXJUb3dlclN0YWdlEikKBGxpc3QYASADKAsyGy5ub3ZhLmNs",
            "aWVudC5TdGFyVG93ZXJTdGFnZSJmCg1TdGFyVG93ZXJUYWxrEgoKAklkGAEg",
            "ASgFEgwKBE5hbWUYAiABKAkSDwoHQ29udGVudBgDIAEoCRINCgVDb2xvchgE",
            "IAEoCRIMCgRGYWNlGAUgASgJEg0KBVZvaWNlGAYgASgJIj8KE3RhYmxlX1N0",
            "YXJUb3dlclRhbGsSKAoEbGlzdBgBIAMoCzIaLm5vdmEuY2xpZW50LlN0YXJU",
            "b3dlclRhbGsiTwoQU3RhclRvd2VyVGVhbUV4cBIKCgJJZBgBIAEoBRIPCgdH",
            "cm91cElkGAIgASgFEg0KBUxldmVsGAMgASgFEg8KB05lZWRFeHAYBCABKAUi",
            "RQoWdGFibGVfU3RhclRvd2VyVGVhbUV4cBIrCgRsaXN0GAEgAygLMh0ubm92",
            "YS5jbGllbnQuU3RhclRvd2VyVGVhbUV4cCL2AgoFU3RvcnkSCgoCSWQYASAB",
            "KAUSDwoHU3RvcnlJZBgCIAEoCRIPCgdDb21tZW50GAMgASgJEg8KB0NoYXB0",
            "ZXIYBCABKAUSDQoFSW5kZXgYBSABKAkSDQoFVGl0bGUYBiABKAkSDAoERGVz",
            "YxgHIAEoCRISCgpUcmlhbEJ1aWxkGAggASgFEhMKC0NvbmRpdGlvbklkGAkg",
            "ASgJEhAKCElzQnJhbmNoGAogASgIEhAKCElzQmF0dGxlGAsgASgIEg4KBlJl",
            "d2FyZBgMIAEoBRIVCg1SZXdhcmREaXNwbGF5GA0gASgJEhUKDVBhcmVudFN0",
            "b3J5SWQYDiADKAkSEwoLSGFzRXZpZGVuY2UYDyABKAgSEgoKQXZnTHVhTmFt",
            "ZRgQIAEoCRIPCgdGbG9vcklkGBEgAygFEh0KFVByZXZpZXdNb25zdGVyR3Jv",
            "dXBJZBgSIAEoBRIRCglSZWNvbW1lbmQYEyABKAkSCwoDQWltGBQgASgJIi8K",
            "C3RhYmxlX1N0b3J5EiAKBGxpc3QYASADKAsyEi5ub3ZhLmNsaWVudC5TdG9y",
            "eSLUAQoMU3RvcnlDaGFwdGVyEgoKAklkGAEgASgFEgwKBFR5cGUYAiABKAUS",
            "EgoKV29ybGRDbGFzcxgDIAEoBRITCgtQcmV2U3RvcmllcxgEIAMoCRINCgVJ",
            "bmRleBgFIAEoCRIMCgROYW1lGAYgASgJEgwKBERlc2MYByABKAkSEwoLQ2hh",
            "cHRlckljb24YCCABKAkSEQoJVGltZVN0YW1wGAkgAygJEhMKC0NoYXB0ZXJZ",
            "ZWFyGAogASgJEhkKEVVubG9ja1Nob3dTdG9yeUlkGAsgASgFIj0KEnRhYmxl",
            "X1N0b3J5Q2hhcHRlchInCgRsaXN0GAEgAygLMhkubm92YS5jbGllbnQuU3Rv",
            "cnlDaGFwdGVyIqQBCg5TdG9yeUNvbmRpdGlvbhIKCgJJZBgBIAEoBRITCgtD",
            "b25kaXRpb25JZBgCIAEoCRIPCgdDb21tZW50GAMgASgJEg8KB0V2SWRzX2EY",
            "BCADKAkSDwoHRXZJZHNfYhgFIAMoCRIRCglTdG9yeUlkX2EYBiADKAkSEQoJ",
            "U3RvcnlJZF9iGAcgAygJEhgKEFBsYXllcldvcmxkTGV2ZWwYCCABKAUiQQoU",
            "dGFibGVfU3RvcnlDb25kaXRpb24SKQoEbGlzdBgBIAMoCzIbLm5vdmEuY2xp",
            "ZW50LlN0b3J5Q29uZGl0aW9uInQKDVN0b3J5RXZpZGVuY2USCgoCSWQYASAB",
            "KAUSDAoERXZJZBgCIAEoCRIPCgdDb21tZW50GAMgASgJEgwKBE5hbWUYBCAB",
            "KAkSDAoERGVzYxgFIAEoCRIMCgRJY29uGAYgASgJEg4KBkljb25CZxgHIAEo",
            "CSI/ChN0YWJsZV9TdG9yeUV2aWRlbmNlEigKBGxpc3QYASADKAsyGi5ub3Zh",
            "LmNsaWVudC5TdG9yeUV2aWRlbmNlIlUKEFN0b3J5UGVyc29uYWxpdHkSCgoC",
            "SWQYASABKAUSDAoETmFtZRgCIAEoCRIKCgJEYhgDIAEoCRIMCgRJY29uGAQg",
            "ASgJEg0KBUNvbG9yGAUgASgJIkUKFnRhYmxlX1N0b3J5UGVyc29uYWxpdHkS",
            "KwoEbGlzdBgBIAMoCzIdLm5vdmEuY2xpZW50LlN0b3J5UGVyc29uYWxpdHki",
            "nAMKFFN0b3J5Um9sZVBlcnNvbmFsaXR5EgoKAklkGAEgASgFEhEKCUF2Z0No",
            "YXJJZBgCIAEoCRIUCgxQZXJzb25hbGl0eXMYAyADKAUSEQoJQmFzZVZhbHVl",
            "GAQgAygFEgwKBEFtYXgYBSABKAkSEAoIQW1heEZhY2UYBiABKAkSDAoEQm1h",
            "eBgHIAEoCRIQCghCbWF4RmFjZRgIIAEoCRIMCgRDbWF4GAkgASgJEhAKCENt",
            "YXhGYWNlGAogASgJEg0KBUFwbHVzGAsgASgJEhEKCUFwbHVzRmFjZRgMIAEo",
            "CRINCgVCcGx1cxgNIAEoCRIRCglCcGx1c0ZhY2UYDiABKAkSDQoFQ3BsdXMY",
            "DyABKAkSEQoJQ3BsdXNGYWNlGBAgASgJEgoKAkFiGBEgASgJEg4KBkFiRmFj",
            "ZRgSIAEoCRIKCgJBYxgTIAEoCRIOCgZBY0ZhY2UYFCABKAkSCgoCQmMYFSAB",
            "KAkSDgoGQmNGYWNlGBYgASgJEg4KBk5vcm1hbBgXIAEoCRISCgpOb3JtYWxG",
            "YWNlGBggASgJIk0KGnRhYmxlX1N0b3J5Um9sZVBlcnNvbmFsaXR5Ei8KBGxp",
            "c3QYASADKAsyIS5ub3ZhLmNsaWVudC5TdG9yeVJvbGVQZXJzb25hbGl0eSK8",
            "AwoGVGFsZW50EgoKAklkGAEgASgFEg0KBUluZGV4GAIgASgFEg0KBVRpdGxl",
            "GAMgASgJEg8KB0dyb3VwSWQYBCABKAUSDAoEVHlwZRgFIAEoBRIPCgdTdWJU",
            "eXBlGAYgASgFEgwKBFNvcnQYByABKAUSDQoFTm9kZXMYCCABKAUSEAoIRWZm",
            "ZWN0SWQYCSADKAUSFgoORW5oYW5jZVNraWxsSWQYCiABKAUSGQoRRW5oYW5j",
            "ZVNraWxsTGV2ZWwYCyABKAUSGgoSRW5oYW5jZVBvdGVudGlhbElkGAwgASgF",
            "Eh0KFUVuaGFuY2VQb3RlbnRpYWxMZXZlbBgNIAEoBRIMCgREZXNjGA4gASgJ",
            "EgwKBEljb24YDyABKAkSDgoGUGFyYW0xGBAgASgJEg4KBlBhcmFtMhgRIAEo",
            "CRIOCgZQYXJhbTMYEiABKAkSDgoGUGFyYW00GBMgASgJEg4KBlBhcmFtNRgU",
            "IAEoCRIOCgZQYXJhbTYYFSABKAkSDgoGUGFyYW03GBYgASgJEg4KBlBhcmFt",
            "OBgXIAEoCRIOCgZQYXJhbTkYGCABKAkSDwoHUGFyYW0xMBgZIAEoCSIxCgx0",
            "YWJsZV9UYWxlbnQSIQoEbGlzdBgBIAMoCzITLm5vdmEuY2xpZW50LlRhbGVu",
            "dCJdCgtUYWxlbnRHcm91cBIKCgJJZBgBIAEoBRIOCgZDaGFySWQYAiABKAUS",
            "EAoIUHJlR3JvdXAYAyABKAUSEQoJTm9kZUxpbWl0GAQgASgFEg0KBVRpdGxl",
            "GAUgASgJIjsKEXRhYmxlX1RhbGVudEdyb3VwEiYKBGxpc3QYASADKAsyGC5u",
            "b3ZhLmNsaWVudC5UYWxlbnRHcm91cCJSCgVUaXRsZRIKCgJJZBgBIAEoBRIO",
            "CgZJdGVtSWQYAiABKAUSEQoJVGl0bGVUeXBlGAMgASgFEgwKBERlc2MYBCAB",
            "KAkSDAoEU29ydBgFIAEoBSIvCgt0YWJsZV9UaXRsZRIgCgRsaXN0GAEgAygL",
            "MhIubm92YS5jbGllbnQuVGl0bGUiigEKBlRvcEJhchIKCgJJZBgBIAEoCRIN",
            "CgVUaXRsZRgCIAEoCRIPCgdFbnRyeUlkGAMgASgFEhAKCEhpZGVCYWNrGAQg",
            "ASgIEg4KBkVuZXJneRgFIAEoCBIMCgRDb2luGAYgASgIEg8KB0NvaW5JZHMY",
            "ByADKAUSEwoLSGlkZUNvaW5BZGQYCCABKAgiMQoMdGFibGVfVG9wQmFyEiEK",
            "BGxpc3QYASADKAsyEy5ub3ZhLmNsaWVudC5Ub3BCYXIiuQEKDlRvdXJHdWlk",
            "ZVF1ZXN0EgoKAklkGAEgASgFEg0KBU9yZGVyGAIgASgFEg0KBVRpdGxlGAMg",
            "ASgJEg4KBkp1bXBUbxgEIAEoBRIPCgdSZXdhcmQxGAUgASgFEhIKClJld2Fy",
            "ZFF0eTEYBiABKAUSDwoHUmV3YXJkMhgHIAEoBRISCgpSZXdhcmRRdHkyGAgg",
            "ASgFEg8KB1Jld2FyZDMYCSABKAUSEgoKUmV3YXJkUXR5MxgKIAEoBSJBChR0",
            "YWJsZV9Ub3VyR3VpZGVRdWVzdBIpCgRsaXN0GAEgAygLMhsubm92YS5jbGll",
            "bnQuVG91ckd1aWRlUXVlc3QijgIKE1RvdXJHdWlkZVF1ZXN0R3JvdXASCgoC",
            "SWQYASABKAUSDQoFT3JkZXIYAiABKAUSDwoHUmV3YXJkMRgDIAEoBRISCgpS",
            "ZXdhcmRRdHkxGAQgASgFEg8KB1Jld2FyZDIYBSABKAUSEgoKUmV3YXJkUXR5",
            "MhgGIAEoBRIPCgdSZXdhcmQzGAcgASgFEhIKClJld2FyZFF0eTMYCCABKAUS",
            "DwoHUmV3YXJkNBgJIAEoBRISCgpSZXdhcmRRdHk0GAogASgFEg8KB1Jld2Fy",
            "ZDUYCyABKAUSEgoKUmV3YXJkUXR5NRgMIAEoBRIPCgdSZXdhcmQ2GA0gASgF",
            "EhIKClJld2FyZFF0eTYYDiABKAUiSwoZdGFibGVfVG91ckd1aWRlUXVlc3RH",
            "cm91cBIuCgRsaXN0GAEgAygLMiAubm92YS5jbGllbnQuVG91ckd1aWRlUXVl",
            "c3RHcm91cCK0BAoEVHJhcBIKCgJJZBgBIAEoBRIMCgROYW1lGAIgASgJEgwK",
            "BEZDSWQYAyABKAUSDQoFTW9kZWwYBCABKAkSEgoKTW9kZWxTY2FsZRgFIAEo",
            "BRITCgtCdWZmRlhTY2FsZRgGIAEoBRIVCg1Db2xsaWRlclNjYWxlGAcgASgF",
            "EhMKC0F0dHJpYnV0ZUlkGAggASgJEhAKCFRlbXBsZXRlGAkgASgFEg8KB0J1",
            "ZmZJZHMYCiADKAUSFgoOVHVybk9mZkJ1ZmZJZHMYCyADKAUSFQoNVHVybk9u",
            "QnVmZklkcxgMIAMoBRIWCg5JbnRlcnJ1cHRTa2lsbBgNIAEoCBIPCgdTdWJU",
            "eXBlGA4gASgFEg8KB0ZhY3Rpb24YDyABKAUSDgoGRmlsdGVyGBAgAygFEhcK",
            "D0lnbm9yZUNvbGxpc2lvbhgRIAEoCBIRCglBY3RpdmVFZmYYEiABKAkSEQoJ",
            "U2hhcGVUeXBlGBMgASgFEg0KBXdpZHRoGBQgASgCEg4KBmxlbmd0aBgVIAEo",
            "AhIOCgZyYWRpdXMYFiABKAISEwoLaW5uZXJSYWRpdXMYFyABKAISDQoFYW5n",
            "bGUYGCABKAISDgoGb2Zmc2V0GBkgAygCEhAKCHJvdGF0aW9uGBogASgCEg4K",
            "BmlzTW92ZRgbIAEoCBIPCgdpc0Jsb2NrGBwgASgIEg4KBk1vdkFjYxgdIAEo",
            "BRIOCgZSb3RTcGQYHiABKAUSDwoHTW92ZVNwZBgfIAEoBSItCgp0YWJsZV9U",
            "cmFwEh8KBGxpc3QYASADKAsyES5ub3ZhLmNsaWVudC5UcmFwIlAKDVRyYXBB",
            "dHRyaWJ1dGUSCgoCSWQYASABKAUSDwoHVHJpZ2dlchgCIAEoCBISCgpUcmln",
            "Z2VySURzGAMgAygFEg4KBkZpbHRlchgEIAMoBSI/ChN0YWJsZV9UcmFwQXR0",
            "cmlidXRlEigKBGxpc3QYASADKAsyGi5ub3ZhLmNsaWVudC5UcmFwQXR0cmli",
            "dXRlIo0BChBUcmF2ZWxlckR1ZWxCb3NzEgoKAklkGAEgASgFEgwKBE5hbWUY",
            "AiABKAkSHAoUVHJhdmVsZXJEdWVsQm9zc1R5cGUYAyABKAUSDwoHRXBpc29k",
            "ZRgEIAEoCRINCgVJbWFnZRgFIAEoCRINCgVDb3ZlchgGIAEoCRISCgpTaG93",
            "UmV3YXJkGAcgAygFIkUKFnRhYmxlX1RyYXZlbGVyRHVlbEJvc3MSKwoEbGlz",
            "dBgBIAMoCzIdLm5vdmEuY2xpZW50LlRyYXZlbGVyRHVlbEJvc3Mi2wMKFVRy",
            "YXZlbGVyRHVlbEJvc3NMZXZlbBIKCgJJZBgBIAEoBRIOCgZCb3NzSWQYAiAB",
            "KAUSEgoKRGlmZmljdWx0eRgDIAEoBRIMCgROYW1lGAQgASgJEgwKBERlc2MY",
            "BSABKAkSFgoOU3VnZ2VzdGVkUG93ZXIYBiABKAUSGgoSUmVjb21tZW5kQnVp",
            "bGRSYW5rGAcgASgFEgsKA0VFVBgIIAMoBRIRCglUaW1lbGltaXQYCSABKAUS",
            "HQoVUHJldmlld01vbnN0ZXJHcm91cElkGAogASgFEg8KB0Zsb29ySWQYCyAB",
            "KAUSEgoKUHJlTGV2ZWxJZBgMIAEoBRIUCgxQcmVMZXZlbFN0YXIYDSABKAUS",
            "GAoQVW5sb2NrV29ybGRDbGFzcxgOIAEoBRIXCg9VbmxvY2tEdWVsTGV2ZWwY",
            "DyABKAUSDwoHRHVlbEV4cBgQIAEoBRIYChBCYXNlQXdhcmRQcmV2aWV3GBEg",
            "ASgJEhAKCEFmZmluaXR5GBIgASgFEgwKBEljb24YEyABKAkSEQoJU2tpbGxT",
            "aG93GBQgAygFEg0KBUNvdmVyGBUgASgJEg4KBlNraW5JZBgWIAEoBRIYChBF",
            "eHRyYURyb3BQcmV2aWV3GBcgAygFIk8KG3RhYmxlX1RyYXZlbGVyRHVlbEJv",
            "c3NMZXZlbBIwCgRsaXN0GAEgAygLMiIubm92YS5jbGllbnQuVHJhdmVsZXJE",
            "dWVsQm9zc0xldmVsIpsCChpUcmF2ZWxlckR1ZWxDaGFsbGVuZ2VBZmZpeBIK",
            "CgJJZBgBIAEoBRIPCgdHcm91cElkGAIgASgFEhIKCkRpZmZpY3VsdHkYAyAB",
            "KAUSGAoQVW5sb2NrV29ybGRDbGFzcxgEIAEoBRIXCg9VbmxvY2tEdWVsTGV2",
            "ZWwYBSABKAUSGAoQVW5sb2NrRGlmZmljdWx0eRgGIAEoBRIMCgROYW1lGAcg",
            "ASgJEgwKBERlc2MYCCABKAkSDAoESWNvbhgJIAEoCRIPCgdFbGVtZW50GAog",
            "ASgFEg8KB0FkZENhbXAYCyADKAUSEAoIQWRkQ2xhc3MYDCADKAUSDwoHU2tp",
            "bGxJZBgNIAEoBRIQCghCcmFuY2hJZBgOIAEoBSJZCiB0YWJsZV9UcmF2ZWxl",
            "ckR1ZWxDaGFsbGVuZ2VBZmZpeBI1CgRsaXN0GAEgAygLMicubm92YS5jbGll",
            "bnQuVHJhdmVsZXJEdWVsQ2hhbGxlbmdlQWZmaXgigQEKH1RyYXZlbGVyRHVl",
            "bENoYWxsZW5nZURpZmZpY3VsdHkSCgoCSWQYASABKAUSDAoEQXR0chgCIAEo",
            "BRIQCghFZmZlY3RJZBgDIAMoBRIWCg5SZWNvbW1lbmRTY29yZRgEIAEoBRIa",
            "ChJSZWNvbW1lbmRCdWlsZFJhbmsYBSABKAUiYwoldGFibGVfVHJhdmVsZXJE",
            "dWVsQ2hhbGxlbmdlRGlmZmljdWx0eRI6CgRsaXN0GAEgAygLMiwubm92YS5j",
            "bGllbnQuVHJhdmVsZXJEdWVsQ2hhbGxlbmdlRGlmZmljdWx0eSLIAgoaVHJh",
            "dmVsZXJEdWVsQ2hhbGxlbmdlUXVlc3QSCgoCSWQYASABKAUSDwoHR3JvdXBJ",
            "ZBgCIAEoBRINCgVUaXRsZRgDIAEoCRIMCgREZXNjGAQgASgJEg4KBkp1bXBU",
            "bxgFIAEoBRINCgVPcmRlchgGIAEoBRIVCg1BY2NlcHRQYXJhbXMyGAcgASgJ",
            "EhQKDENvbXBsZXRlQ29uZBgIIAEoBRIaChJDb21wbGV0ZUNvbmRQYXJhbXMY",
            "CSABKAkSFQoNQXdhcmRJdGVtVGlkMRgKIAEoBRIVCg1Bd2FyZEl0ZW1OdW0x",
            "GAsgASgFEhUKDUF3YXJkSXRlbVRpZDIYDCABKAUSFQoNQXdhcmRJdGVtTnVt",
            "MhgNIAEoBRIVCg1Bd2FyZEl0ZW1UaWQzGA4gASgFEhUKDUF3YXJkSXRlbU51",
            "bTMYDyABKAUiWQogdGFibGVfVHJhdmVsZXJEdWVsQ2hhbGxlbmdlUXVlc3QS",
            "NQoEbGlzdBgBIAMoCzInLm5vdmEuY2xpZW50LlRyYXZlbGVyRHVlbENoYWxs",
            "ZW5nZVF1ZXN0IpwBCh9UcmF2ZWxlckR1ZWxDaGFsbGVuZ2VSYW5rUmV3YXJk",
            "EgoKAklkGAEgASgFEhEKCVJhbmtMb3dlchgCIAEoBRIVCg1Bd2FyZEl0ZW1U",
            "aWQxGAMgASgFEhUKDUF3YXJkSXRlbU51bTEYBCABKAUSFQoNQXdhcmRJdGVt",
            "VGlkMhgFIAEoBRIVCg1Bd2FyZEl0ZW1OdW0yGAYgASgFImMKJXRhYmxlX1Ry",
            "YXZlbGVyRHVlbENoYWxsZW5nZVJhbmtSZXdhcmQSOgoEbGlzdBgBIAMoCzIs",
            "Lm5vdmEuY2xpZW50LlRyYXZlbGVyRHVlbENoYWxsZW5nZVJhbmtSZXdhcmQi",
            "owEKG1RyYXZlbGVyRHVlbENoYWxsZW5nZVNlYXNvbhIKCgJJZBgBIAEoBRIO",
            "CgZCb3NzSWQYAiABKAUSFQoNQWZmaXhHcm91cElkcxgDIAEoCRIUCgxRdWVz",
            "dEdyb3VwSWQYBCABKAUSGAoQQmFja0dyb3VuZFNvdXJjZRgFIAEoCRIQCghP",
            "cGVuVGltZRgGIAEoCRIPCgdFbmRUaW1lGAcgASgJIlsKIXRhYmxlX1RyYXZl",
            "bGVyRHVlbENoYWxsZW5nZVNlYXNvbhI2CgRsaXN0GAEgAygLMigubm92YS5j",
            "bGllbnQuVHJhdmVsZXJEdWVsQ2hhbGxlbmdlU2Vhc29uIq0BChFUcmF2ZWxl",
            "ckR1ZWxGbG9vchIKCgJJZBgBIAEoBRIRCglTY2VuZU5hbWUYAiABKAkSGAoQ",
            "Q29uZmlnUHJlZmFiTmFtZRgDIAEoCRINCgVUaGVtZRgEIAEoBRILCgNCR00Y",
            "BSABKAkSGQoRTGVhdmVUcmlnZ2VyRXZlbnQYBiABKAkSEQoJTW9uc3Rlckx2",
            "GAcgASgFEhUKDUludHJvQ3V0c2NlbmUYCCABKAkiRwoXdGFibGVfVHJhdmVs",
            "ZXJEdWVsRmxvb3ISLAoEbGlzdBgBIAMoCzIeLm5vdmEuY2xpZW50LlRyYXZl",
            "bGVyRHVlbEZsb29yIk0KEVRyYXZlbGVyRHVlbExldmVsEgoKAklkGAEgASgF",
            "EhIKCkxldmVsVXBFeHAYAiABKAUSGAoQQ29pbkFkZGl0aW9uUHJvYhgDIAEo",
            "BSJHChd0YWJsZV9UcmF2ZWxlckR1ZWxMZXZlbBIsCgRsaXN0GAEgAygLMh4u",
            "bm92YS5jbGllbnQuVHJhdmVsZXJEdWVsTGV2ZWwirgIKEVRyYXZlbGVyRHVl",
            "bFF1ZXN0EgoKAklkGAEgASgFEg0KBVRpdGxlGAIgASgJEgwKBERlc2MYAyAB",
            "KAkSDgoGSnVtcFRvGAQgASgFEg0KBU9yZGVyGAUgASgFEhUKDUFjY2VwdFBh",
            "cmFtczIYBiABKAkSFAoMQ29tcGxldGVDb25kGAcgASgFEhoKEkNvbXBsZXRl",
            "Q29uZFBhcmFtcxgIIAEoCRIVCg1Bd2FyZEl0ZW1UaWQxGAkgASgFEhUKDUF3",
            "YXJkSXRlbU51bTEYCiABKAUSFQoNQXdhcmRJdGVtVGlkMhgLIAEoBRIVCg1B",
            "d2FyZEl0ZW1OdW0yGAwgASgFEhUKDUF3YXJkSXRlbVRpZDMYDSABKAUSFQoN",
            "QXdhcmRJdGVtTnVtMxgOIAEoBSJHChd0YWJsZV9UcmF2ZWxlckR1ZWxRdWVz",
            "dBIsCgRsaXN0GAEgAygLMh4ubm92YS5jbGllbnQuVHJhdmVsZXJEdWVsUXVl",
            "c3QipwIKClRyaWFsQnVpbGQSCgoCSWQYASABKAUSDAoETmFtZRgCIAEoCRIN",
            "CgVTY29yZRgDIAEoBRIMCgRDaGFyGAQgAygFEgwKBERpc2MYBSADKAUSEQoJ",
            "UG90ZW50aWFsGAYgASgJEhgKEERpc2NDb21tb25Ta2lsbDEYByABKAkSGAoQ",
            "RGlzY0NvbW1vblNraWxsMhgIIAEoCRIYChBEaXNjQ29tbW9uU2tpbGwzGAkg",
            "ASgJEhkKEURpc2NQYXNzaXZlU2tpbGwxGAogASgJEhkKEURpc2NQYXNzaXZl",
            "U2tpbGwyGAsgASgJEhkKEURpc2NQYXNzaXZlU2tpbGwzGAwgASgJEhQKDEhh",
            "cm1vbnlTa2lsbBgNIAEoCRIMCgROb3RlGA4gASgJIjkKEHRhYmxlX1RyaWFs",
            "QnVpbGQSJQoEbGlzdBgBIAMoCzIXLm5vdmEuY2xpZW50LlRyaWFsQnVpbGQi",
            "kwEKDlRyaWFsQ2hhcmFjdGVyEgoKAklkGAEgASgFEgwKBE5hbWUYAiABKAkS",
            "DgoGQ2hhcklkGAMgASgFEhUKDUNoYXJhY3RlclNraW4YBCABKAUSDQoFQnJl",
            "YWsYBSABKAUSDQoFTGV2ZWwYBiABKAUSEgoKU2tpbGxMZXZlbBgHIAMoBRIO",
            "CgZUYWxlbnQYCCADKAUiQQoUdGFibGVfVHJpYWxDaGFyYWN0ZXISKQoEbGlz",
            "dBgBIAMoCzIbLm5vdmEuY2xpZW50LlRyaWFsQ2hhcmFjdGVyIlMKCVRyaWFs",
            "RGlzYxIKCgJJZBgBIAEoBRIOCgZEaXNjSWQYAiABKAUSDQoFUGhhc2UYAyAB",
            "KAUSDQoFTGV2ZWwYBCABKAUSDAoEU3RhchgFIAEoBSI3Cg90YWJsZV9Ucmlh",
            "bERpc2MSJAoEbGlzdBgBIAMoCzIWLm5vdmEuY2xpZW50LlRyaWFsRGlzYyIi",
            "CgZVSVRleHQSCgoCSWQYASABKAkSDAoEVGV4dBgCIAEoCSIxCgx0YWJsZV9V",
            "SVRleHQSIQoEbGlzdBgBIAMoCzITLm5vdmEuY2xpZW50LlVJVGV4dCLCAwoW",
            "VmFtcGlyZUJhdHRsZVRocmVzaG9sZBIRCglNaXNzaW9uSWQYASABKAUSDwoH",
            "VmVyc2lvbhgCIAEoBRISCgpmcm9tU3JjQXRrGAMgASgFEh4KFmZyb21QZXJr",
            "SW50ZW5zaXR5UmF0aW8YBCABKAUSGAoQZnJvbVNsb3REbWdSYXRpbxgFIAEo",
            "BRIOCgZmcm9tRUUYBiABKAUSFwoPZnJvbUdlbkRtZ1JhdGlvGAcgASgFEhMK",
            "C2Zyb21EbWdQbHVzGAggASgFEhUKDWZyb21Dcml0UmF0aW8YCSABKAUSGQoR",
            "ZnJvbUZpbmFsRG1nUmF0aW8YCiABKAUSGAoQZnJvbUZpbmFsRG1nUGx1cxgL",
            "IAEoBRIRCgl0b0VyQW1lbmQYDCABKAUSEgoKdG9EZWZBbWVuZBgNIAEoBRIZ",
            "ChF0b1JjZFNsb3REbWdSYXRpbxgOIAEoBRIPCgd0b0VFUkNEGA8gASgFEhgK",
            "EHRvR2VuRG1nUmNkUmF0aW8YECABKAUSFAoMdG9EbWdQbHVzUmNkGBEgASgF",
            "EgsKA0RtZxgSIAEoBRIQCghDcml0UmF0ZRgTIAEoBRIKCgJIcBgUIAEoBSJR",
            "Chx0YWJsZV9WYW1waXJlQmF0dGxlVGhyZXNob2xkEjEKBGxpc3QYASADKAsy",
            "Iy5ub3ZhLmNsaWVudC5WYW1waXJlQmF0dGxlVGhyZXNob2xkIoUBChBWYW1w",
            "aXJlRW5lbXlQb29sEg4KBlBvb2xJZBgBIAEoBRIPCgdXYXZlTnVtGAIgASgF",
            "EhQKDE1vbnN0ZXJMZXZlbBgDIAEoBRISCgpFbmVteVNldElEGAQgASgFEhQK",
            "DFdhdmVLZWVwVGltZRgFIAEoBRIQCghQb29sVHlwZRgGIAEoBSJFChZ0YWJs",
            "ZV9WYW1waXJlRW5lbXlQb29sEisKBGxpc3QYASADKAsyHS5ub3ZhLmNsaWVu",
            "dC5WYW1waXJlRW5lbXlQb29sIpUCCg9WYW1waXJlRW5lbXlTZXQSDQoFU2V0",
            "SWQYASABKAUSEAoIR3JvdXBOdW0YAiABKAUSEQoJTW9uc3RlcklkGAMgASgF",
            "EhMKC0xldmVsQ2hhbmdlGAQgASgFEhEKCURlbGF5VGltZRgFIAEoBRIOCgZN",
            "YXhOdW0YBiABKAUSDwoHQWRkRGF0YRgHIAMoBRIZChFNYXhOdW1JbXByb3Zl",
            "RGF0YRgIIAMoBRIYChBNb25zdGVyU3Bhd25UeXBlGAkgASgFEhQKDE1vbnN0",
            "ZXJQb2ludBgKIAEoBRIPCgdEcm9wRXhwGAsgAygFEhEKCURyb3BDaGVzdBgM",
            "IAMoBRIWCg5Nb25zdGVyV2FybmluZxgNIAEoBSJDChV0YWJsZV9WYW1waXJl",
            "RW5lbXlTZXQSKgoEbGlzdBgBIAMoCzIcLm5vdmEuY2xpZW50LlZhbXBpcmVF",
            "bmVteVNldCJKChJWYW1waXJlRW5lbXlTcEF0dHISCgoCSWQYASABKAUSEwoL",
            "UmVmRGlzdGFuY2UYAiADKAUSEwoLUmVmSW50ZXJ2YWwYAyADKAUiSQoYdGFi",
            "bGVfVmFtcGlyZUVuZW15U3BBdHRyEi0KBGxpc3QYASADKAsyHy5ub3ZhLmNs",
            "aWVudC5WYW1waXJlRW5lbXlTcEF0dHIi6wEKDFZhbXBpcmVGbG9vchIKCgJJ",
            "ZBgBIAEoBRINCgVNYXBJZBgCIAEoBRIRCglXYXZlQ291bnQYAyADKAUSFwoP",
            "Rmlyc3RIYWxmUG9vbElkGAQgASgFEhEKCUZIQWZmaXhJZBgFIAMoBRIQCghG",
            "SEJvc3NJZBgGIAEoBRIYChBTZWNvbmRIYWxmUG9vbElkGAcgASgFEhEKCVNI",
            "QWZmaXhJZBgIIAMoBRIQCghTSEJvc3NJZBgJIAEoBRIZChFTcGVjaWFsRW5l",
            "bXlTZXRJZBgKIAEoCRIVCg1UcmVhc3VyZVNldElkGAsgASgJIj0KEnRhYmxl",
            "X1ZhbXBpcmVGbG9vchInCgRsaXN0GAEgAygLMhkubm92YS5jbGllbnQuVmFt",
            "cGlyZUZsb29yInwKClZhbXBpcmVNYXASCgoCSWQYASABKAUSEQoJU2NlbmVO",
            "YW1lGAIgASgJEhgKEENvbmZpZ1ByZWZhYk5hbWUYAyABKAkSDQoFVGhlbWUY",
            "BCABKAUSCwoDQkdNGAUgASgJEhkKEUxlYXZlVHJpZ2dlckV2ZW50GAYgASgJ",
            "IjkKEHRhYmxlX1ZhbXBpcmVNYXASJQoEbGlzdBgBIAMoCzIXLm5vdmEuY2xp",
            "ZW50LlZhbXBpcmVNYXAijgEKEVZhbXBpcmVSYW5rUmV3YXJkEgoKAklkGAEg",
            "ASgFEhEKCVJhbmtMb3dlchgCIAEoBRIVCg1Bd2FyZEl0ZW1UaWQxGAMgASgF",
            "EhUKDUF3YXJkSXRlbU51bTEYBCABKAUSFQoNQXdhcmRJdGVtVGlkMhgFIAEo",
            "BRIVCg1Bd2FyZEl0ZW1OdW0yGAYgASgFIkcKF3RhYmxlX1ZhbXBpcmVSYW5r",
            "UmV3YXJkEiwKBGxpc3QYASADKAsyHi5ub3ZhLmNsaWVudC5WYW1waXJlUmFu",
            "a1Jld2FyZCJpChFWYW1waXJlUmFua1NlYXNvbhIKCgJJZBgBIAEoBRIRCglN",
            "aXNzaW9uSWQYAiABKAUSEAoIT3BlblRpbWUYAyABKAkSDwoHRW5kVGltZRgE",
            "IAEoCRISCgpRdWVzdEdyb3VwGAUgASgFIkcKF3RhYmxlX1ZhbXBpcmVSYW5r",
            "U2Vhc29uEiwKBGxpc3QYASADKAsyHi5ub3ZhLmNsaWVudC5WYW1waXJlUmFu",
            "a1NlYXNvbiLCBQoPVmFtcGlyZVN1cnZpdm9yEgoKAklkGAEgASgFEgwKBE5h",
            "bWUYAiABKAkSDAoERGVzYxgDIAEoCRILCgNFRVQYBCADKAUSDgoGTm90RUVU",
            "GAUgAygFEhYKDlN1Z2dlc3RlZFBvd2VyGAYgASgFEhoKElJlY29tbWVuZEJ1",
            "aWxkUmFuaxgHIAEoBRIMCgRUeXBlGAggASgFEhIKClByZUxldmVsSWQYCSAB",
            "KAUSFgoOTmVlZFdvcmxkQ2xhc3MYCiABKAUSGQoRRmlyc3RRdWVzdEdyb3Vw",
            "SWQYCyABKAUSFAoMTGV2ZWxHcm91cElkGAwgASgFEg8KB0Zsb29ySWQYDSAB",
            "KAUSFAoMTm9ybWFsU2NvcmUxGA4gASgFEhMKC0VsaXRlU2NvcmUxGA8gASgF",
            "EhIKCkJvc3NTY29yZTEYECABKAUSEgoKVGltZVNjb3JlMRgRIAEoBRISCgpU",
            "aW1lTGltaXQxGBIgASgFEhQKDE5vcm1hbFNjb3JlMhgTIAEoBRITCgtFbGl0",
            "ZVNjb3JlMhgUIAEoBRISCgpCb3NzU2NvcmUyGBUgASgFEhIKClRpbWVTY29y",
            "ZTIYFiABKAUSEgoKVGltZUxpbWl0MhgXIAEoBRIRCglFRVRTY29yZTEYGCAD",
            "KAUSEQoJRUVUU2NvcmUyGBkgAygFEh8KF0ZIUHJldmlld01vbnN0ZXJHcm91",
            "cElkGBogASgFEh8KF1NIUHJldmlld01vbnN0ZXJHcm91cElkGBsgASgFEhQK",
            "DENvdmVyRXBpc29kZRgcIAEoCRIPCgdFcGlzb2RlGB0gASgJEhAKCEVwaXNv",
            "ZGUyGB4gASgJEhYKDkZhdGVDYXJkQnVuZGxlGB8gAygFEhYKDlNwZWNpYUZh",
            "dGVDYXJkGCAgASgJEhsKE1NwZWNpYUZhdGVDYXJkUGFyYW0YISABKAkiQwoV",
            "dGFibGVfVmFtcGlyZVN1cnZpdm9yEioKBGxpc3QYASADKAsyHC5ub3ZhLmNs",
            "aWVudC5WYW1waXJlU3Vydml2b3IiQwoUVmFtcGlyZVN1cnZpdm9yTGV2ZWwS",
            "DwoHR3JvdXBJRBgBIAEoBRINCgVMZXZlbBgCIAEoBRILCgNFeHAYAyABKAUi",
            "TQoadGFibGVfVmFtcGlyZVN1cnZpdm9yTGV2ZWwSLwoEbGlzdBgBIAMoCzIh",
            "Lm5vdmEuY2xpZW50LlZhbXBpcmVTdXJ2aXZvckxldmVsIrkCChRWYW1waXJl",
            "U3Vydml2b3JRdWVzdBIKCgJJZBgBIAEoBRIPCgdHcm91cElkGAIgASgFEg0K",
            "BVRpdGxlGAMgASgJEgwKBERlc2MYBCABKAkSDgoGSnVtcFRvGAUgASgFEg0K",
            "BU9yZGVyGAYgASgFEgwKBFR5cGUYByABKAUSFAoMQ29tcGxldGVDb25kGAgg",
            "ASgFEhoKEkNvbXBsZXRlQ29uZFBhcmFtcxgJIAEoCRIVCg1Bd2FyZEl0ZW1U",
            "aWQxGAogASgFEhUKDUF3YXJkSXRlbU51bTEYCyABKAUSFQoNQXdhcmRJdGVt",
            "VGlkMhgMIAEoBRIVCg1Bd2FyZEl0ZW1OdW0yGA0gASgFEhUKDUF3YXJkSXRl",
            "bVRpZDMYDiABKAUSFQoNQXdhcmRJdGVtTnVtMxgPIAEoBSJNChp0YWJsZV9W",
            "YW1waXJlU3Vydml2b3JRdWVzdBIvCgRsaXN0GAEgAygLMiEubm92YS5jbGll",
            "bnQuVmFtcGlyZVN1cnZpdm9yUXVlc3QiygEKDVZhbXBpcmVUYWxlbnQSCgoC",
            "SWQYASABKAUSDAoETmFtZRgCIAEoCRIPCgdEZXNjVGFnGAMgASgFEg0KBVBh",
            "cmFtGAQgASgFEgwKBFByZXYYBSADKAUSEAoISXNTZXJ2ZXIYBiABKAgSEAoI",
            "SXNDbGllbnQYByABKAgSDgoGRWZmZWN0GAggASgFEg4KBlBhcmFtcxgJIAEo",
            "CRINCgVQb2ludBgKIAEoBRIMCgRJY29uGAsgASgJEhAKCEVmZmVjdElkGAwg",
            "ASgFIj8KE3RhYmxlX1ZhbXBpcmVUYWxlbnQSKAoEbGlzdBgBIAMoCzIaLm5v",
            "dmEuY2xpZW50LlZhbXBpcmVUYWxlbnQiLAoRVmFtcGlyZVRhbGVudERlc2MS",
            "CgoCSWQYASABKAUSCwoDTnVtGAIgASgJIkcKF3RhYmxlX1ZhbXBpcmVUYWxl",
            "bnREZXNjEiwKBGxpc3QYASADKAsyHi5ub3ZhLmNsaWVudC5WYW1waXJlVGFs",
            "ZW50RGVzYyI/ChJWYW1waXJlVGFsZW50Rmxvb3ISCgoCSWQYASABKAUSCwoD",
            "TnVtGAIgASgFEhAKCFRhbGVudElkGAMgAygFIkkKGHRhYmxlX1ZhbXBpcmVU",
            "YWxlbnRGbG9vchItCgRsaXN0GAEgAygLMh8ubm92YS5jbGllbnQuVmFtcGly",
            "ZVRhbGVudEZsb29yInEKC1ZvRGlyZWN0b3J5EgoKAklkGAEgASgFEhIKCnZv",
            "UmVzb3VyY2UYAiABKAkSEwoLY2hhcmFjdGVySWQYAyABKAUSDgoGdm90eXBl",
            "GAQgASgJEg0KBWxpbmVzGAUgASgJEg4KBm1vdGlvbhgGIAEoCSI7ChF0YWJs",
            "ZV9Wb0RpcmVjdG9yeRImCgRsaXN0GAEgAygLMhgubm92YS5jbGllbnQuVm9E",
            "aXJlY3RvcnkiQQoPV2VpZ2h0UGFyYW1ldGVyEgoKAmlkGAEgASgFEhIKClBy",
            "b3BvcnRpb24YAiABKAUSDgoGZWZmZWN0GAMgASgFIkMKFXRhYmxlX1dlaWdo",
            "dFBhcmFtZXRlchIqCgRsaXN0GAEgAygLMhwubm92YS5jbGllbnQuV2VpZ2h0",
            "UGFyYW1ldGVyIu0BCgRXb3JkEgoKAklkGAEgASgFEg0KBVRpdGxlGAIgASgJ",
            "EgwKBERlc2MYAyABKAkSDQoFQ29sb3IYBCABKAkSDAoESWNvbhgFIAEoCRIO",
            "CgZQYXJhbTEYBiABKAkSDgoGUGFyYW0yGAcgASgJEg4KBlBhcmFtMxgIIAEo",
            "CRIOCgZQYXJhbTQYCSABKAkSDgoGUGFyYW01GAogASgJEg4KBlBhcmFtNhgL",
            "IAEoCRIOCgZQYXJhbTcYDCABKAkSDgoGUGFyYW04GA0gASgJEg4KBlBhcmFt",
            "ORgOIAEoCRIPCgdQYXJhbTEwGA8gASgJIi0KCnRhYmxlX1dvcmQSHwoEbGlz",
            "dBgBIAMoCzIRLm5vdmEuY2xpZW50LldvcmQi8gEKCVdvcmRTdXBlchIKCgJJ",
            "ZBgBIAEoBRINCgVUaXRsZRgCIAEoCRINCgVDb2xvchgDIAEoCRIMCgRJY29u",
            "GAQgASgJEgwKBERlc2MYBSABKAkSDgoGUGFyYW0xGAYgASgJEg4KBlBhcmFt",
            "MhgHIAEoCRIOCgZQYXJhbTMYCCABKAkSDgoGUGFyYW00GAkgASgJEg4KBlBh",
            "cmFtNRgKIAEoCRIOCgZQYXJhbTYYCyABKAkSDgoGUGFyYW03GAwgASgJEg4K",
            "BlBhcmFtOBgNIAEoCRIOCgZQYXJhbTkYDiABKAkSDwoHUGFyYW0xMBgPIAEo",
            "CSI3Cg90YWJsZV9Xb3JkU3VwZXISJAoEbGlzdBgBIAMoCzIWLm5vdmEuY2xp",
            "ZW50LldvcmRTdXBlciJ/CgpXb3JsZENsYXNzEgwKBFJhbmsYASABKAUSCwoD",
            "RXhwGAIgASgFEg0KBUxpbWl0GAMgASgFEg0KBUFkZGVkGAQgASgFEhMKC0Rv",
            "dWJsZUNvdW50GAUgASgFEg4KBlJld2FyZBgGIAEoCRITCgtSZXdhcmRMaW1p",
            "dBgHIAEoBSI5ChB0YWJsZV9Xb3JsZENsYXNzEiUKBGxpc3QYASADKAsyFy5u",
            "b3ZhLmNsaWVudC5Xb3JsZENsYXNzYgZwcm90bzM="));
      descriptor = pbr::FileDescriptor.FromGeneratedCode(descriptorData,
          new pbr::FileDescriptor[] { },
          new pbr::GeneratedClrTypeInfo(null, null, new pbr::GeneratedClrTypeInfo[] {
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Achievement), global::Nova.Client.Achievement.Parser, new[]{ "Id", "AchieveId", "Title", "Desc", "Rarity", "Type", "Hide", "JumpTo", "CompleteCond", "CompleteCondClient", "AimNumShow", "Prerequisites", "LevelType", "ClientCompleteParams1", "ClientCompleteParams2", "Tid1", "Qty1", "Tid2", "Qty2", "Tid3", "Qty3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Achievement), global::Nova.Client.table_Achievement.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Activity), global::Nova.Client.Activity.Parser, new[]{ "Id", "SortId", "ActivityType", "Name", "PreLimit", "LimitParam", "StartType", "StartTime", "StartCondType", "StartCondParams", "EndType", "EndTime", "EndDuration", "BannerRes", "PopUpRes", "TabBgRes" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Activity), global::Nova.Client.table_Activity.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AddBuffAction), global::Nova.Client.AddBuffAction.Parser, new[]{ "Id", "GroupId", "TargetType", "BuffId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AddBuffAction), global::Nova.Client.table_AddBuffAction.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AffinityGift), global::Nova.Client.AffinityGift.Parser, new[]{ "Id", "BaseAffinity", "Tags" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AffinityGift), global::Nova.Client.table_AffinityGift.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AffinityLevel), global::Nova.Client.AffinityLevel.Parser, new[]{ "Id", "AffinityLevel_", "NeedExp", "TemplateId", "AffinityLevelName", "AffinityLevelIcon", "AffinityLevelRewardIcon", "AffinityLevelRewardLockIcon", "Effect", "AffinityLevelStage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AffinityLevel), global::Nova.Client.table_AffinityLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AffinityQuest), global::Nova.Client.AffinityQuest.Parser, new[]{ "Id", "Desc", "SortId", "CharId", "CompleteCond", "CompleteCondParams", "Reward", "AffinityExp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AffinityQuest), global::Nova.Client.table_AffinityQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AffinityUpReward), global::Nova.Client.AffinityUpReward.Parser, new[]{ "Id", "CharId", "RewardLevel", "Reward1", "Reward2", "Reward3", "DescFront1", "DescFront2", "DescFront3", "DescAfter1", "DescAfter2", "DescAfter3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AffinityUpReward), global::Nova.Client.table_AffinityUpReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Agent), global::Nova.Client.Agent.Parser, new[]{ "Id", "Tab", "Note", "Name", "Desc", "Consignor", "RefreshType", "MemberType", "Level", "BuildScore", "MemberLimit", "Tags", "ExtraTags", "UnlockConditions", "Sort", "Time1", "RewardPreview1", "BonusPreview1", "Time2", "RewardPreview2", "BonusPreview2", "Time3", "RewardPreview3", "BonusPreview3", "Time4", "RewardPreview4", "BonusPreview4" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Agent), global::Nova.Client.table_Agent.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AgentSpecialPerformance), global::Nova.Client.AgentSpecialPerformance.Parser, new[]{ "Id", "CharId", "Weight", "Avg", "AVGGroupId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AgentSpecialPerformance), global::Nova.Client.table_AgentSpecialPerformance.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AgentTab), global::Nova.Client.AgentTab.Parser, new[]{ "Id", "Name", "Bg", "SpTag" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AgentTab), global::Nova.Client.table_AgentTab.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AI), global::Nova.Client.AI.Parser, new[]{ "Id", "FCSpawn", "FCIdle", "FCAction", "FCLostControl", "FCDeath", "FCGlobal", "FCComboGroup" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AI), global::Nova.Client.table_AI.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AreaEffect), global::Nova.Client.AreaEffect.Parser, new[]{ "AreaTag", "MaxCount", "OverLimitType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AreaEffect), global::Nova.Client.table_AreaEffect.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Attribute), global::Nova.Client.Attribute.Parser, new[]{ "Id", "GroupId", "Break", "Lvl", "Atk", "Hp", "Def", "CritRate", "NormalCritRate", "SkillCritRate", "UltraCritRate", "MarkCritRate", "SummonCritRate", "ProjectileCritRate", "OtherCritRate", "CritResistance", "CritPower", "NormalCritPower", "SkillCritPower", "UltraCritPower", "MarkCritPower", "SummonCritPower", "ProjectileCritPower", "OtherCritPower", "HitRate", "Evd", "DefPierce", "DefIgnore", "WEP", "FEP", "SEP", "AEP", "LEP", "DEP", "WEI", "FEI", "SEI", "AEI", "LEI", "DEI", "WEE", "FEE", "SEE", "AEE", "LEE", "DEE", "WER", "FER", "SER", "AER", "LER", "DER", "ToughnessDamageAdjust", "Toughness", "Suppress", "NORMALDMG", "SKILLDMG", "ULTRADMG", "OTHERDMG", "RCDNORMALDMG", "RCDSKILLDMG", "RCDULTRADMG", "RCDOTHERDMG", "MARKDMG", "RCDMARKDMG", "SUMMONDMG", "RCDSUMMONDMG", "PROJECTILEDMG", "RCDPROJECTILEDMG", "GENDMG", "DMGPLUS", "FINALDMG", "FINALDMGPLUS", "WEERCD", "FEERCD", "SEERCD", "AEERCD", "LEERCD", "DEERCD", "GENDMGRCD", "DMGPLUSRCD" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Attribute), global::Nova.Client.table_Attribute.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.AttributeLimit), global::Nova.Client.AttributeLimit.Parser, new[]{ "Id", "Lower", "Upper", "IsLimited" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_AttributeLimit), global::Nova.Client.table_AttributeLimit.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.BattlePass), global::Nova.Client.BattlePass.Parser, new[]{ "ID", "Name", "StartTime", "EndTime", "LuxuryProductId", "LuxuryPrice", "LuxuryBonusLevel", "LuxuryTid", "LuxuryQty", "PremiumProductId", "PremiumPrice", "PremiumTid", "PremiumQty", "ComplementaryProductId", "ComplementaryPrice", "ComplementaryTid", "ComplementaryQty", "Cover", "PremiumShowItems", "LuxuryShowItems", "OutfitPackageShowItem" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_BattlePass), global::Nova.Client.table_BattlePass.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.BattlePassLevel), global::Nova.Client.BattlePassLevel.Parser, new[]{ "ID", "Exp", "Tid", "Qty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_BattlePassLevel), global::Nova.Client.table_BattlePassLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.BattlePassQuest), global::Nova.Client.BattlePassQuest.Parser, new[]{ "Id", "Type", "Title", "JumpTo", "Exp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_BattlePassQuest), global::Nova.Client.table_BattlePassQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.BattlePassReward), global::Nova.Client.BattlePassReward.Parser, new[]{ "ID", "Level", "Tid1", "Qty1", "Tid2", "Qty2", "Tid3", "Qty3", "Focus" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_BattlePassReward), global::Nova.Client.table_BattlePassReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.BattleThreshold), global::Nova.Client.BattleThreshold.Parser, new[]{ "MissionId", "Version", "FromSrcAtk", "FromPerkIntensityRatio", "FromSlotDmgRatio", "FromEE", "FromGenDmgRatio", "FromDmgPlus", "FromCritRatio", "FromFinalDmgRatio", "FromFinalDmgPlus", "ToErAmend", "ToDefAmend", "ToRcdSlotDmgRatio", "ToEERCD", "ToGenDmgRcdRatio", "ToDmgPlusRcd", "Dmg", "CritRate", "Hp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_BattleThreshold), global::Nova.Client.table_BattleThreshold.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.BoardNPC), global::Nova.Client.BoardNPC.Parser, new[]{ "Id", "Name", "Alias", "DefaultSkinId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_BoardNPC), global::Nova.Client.table_BoardNPC.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Buff), global::Nova.Client.Buff.Parser, new[]{ "Id", "Name", "LevelTypeData", "LevelData", "MainOrSupport", "GroupId", "ReduceTime", "BuffTag1", "BuffTag2", "BuffTag3", "BuffTag4", "BuffTag5", "BindEffect", "Icon", "IsShow", "TopofHeadEffect", "BuffNumEffectLevel", "NotRemove" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Buff), global::Nova.Client.table_Buff.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.BuffValue), global::Nova.Client.BuffValue.Parser, new[]{ "Id", "Name", "Sort", "BuffEffects", "Time", "LaminatedNum", "Num", "TimeSuperposition", "Timing", "ReplaceType", "AttackClear", "HitClear", "IsInherit", "IsExitDelete" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_BuffValue), global::Nova.Client.table_BuffValue.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Chapter), global::Nova.Client.Chapter.Parser, new[]{ "Id", "Name", "Desc", "ChapterType", "WorldClass", "PrevMainlines", "CompleteRewards", "ChapterImg", "ChapterIcon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Chapter), global::Nova.Client.table_Chapter.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Character), global::Nova.Client.Character.Parser, new[]{ "Id", "Name", "Visible", "Available", "Grade", "DefaultSkinId", "AdvanceSkinId", "AdvanceGroup", "AdvanceSkinUnlockLevel", "Faction", "Weight", "EET", "Class", "CharacterAttackType", "SearchTargetType", "AtkSpd", "MovType", "WalkSpd", "RunSpd", "SpRunSpd", "TransSpd", "WalkToRunDuration", "DodgeToRunAccelerationOrNot", "MovAcc", "RotSpd", "RotAcc", "VisionDeg", "VisionRng", "VisionAttackRng", "HearRng", "HearAttackRng", "RaiseGunRng", "BulletType", "Ammo", "AIId", "NormalAtkId", "DodgeId", "SkillId", "SpecialSkillId", "UltimateId", "AssistAIId", "AssistNormalAtkId", "AssistDodgeId", "AssistSkillId", "AssistSpecialSkillId", "AssistUltimateId", "TalentSkillId", "AssistSkillOnStageType", "AssistSkillAngle", "AssistSkillRadius", "AssistSkillOnStageOrientation", "AssistUltimateOnStageType", "AssistUltimateAngle", "AssistUltimateRadius", "AssistUltimateOnStageOrientation", "SwitchCD", "EnergyConvRatio", "EnergyEfficiency", "FragmentsId", "TransformQty", "RecruitmentQty", "AttributeId", "PresentsTraitId", "SkillsUpgradeGroup" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Character), global::Nova.Client.table_Character.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterAdvance), global::Nova.Client.CharacterAdvance.Parser, new[]{ "Id", "Group", "AdvanceLvl", "Tid1", "Qty1", "Tid2", "Qty2", "Tid3", "Qty3", "Tid4", "Qty4", "GoldQty", "AwardTid1", "AwardQty1", "AwardTid2", "AwardQty2", "AwardTid3", "AwardQty3", "AdvanceDescFront1", "AdvanceDescAfter1", "AdvanceDescFront2", "AdvanceDescAfter2", "AdvanceDescFront3", "AdvanceDescAfter3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterAdvance), global::Nova.Client.table_CharacterAdvance.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterArchive), global::Nova.Client.CharacterArchive.Parser, new[]{ "Id", "ArchType", "CharacterId", "UnlockAffinityLevel", "RecordId", "Sort" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterArchive), global::Nova.Client.table_CharacterArchive.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterArchiveBaseInfo), global::Nova.Client.CharacterArchiveBaseInfo.Parser, new[]{ "Id", "CharacterId", "Title", "Content", "Sort" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterArchiveBaseInfo), global::Nova.Client.table_CharacterArchiveBaseInfo.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterArchiveContent), global::Nova.Client.CharacterArchiveContent.Parser, new[]{ "Id", "Title", "Content" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterArchiveContent), global::Nova.Client.table_CharacterArchiveContent.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterArchiveVoice), global::Nova.Client.CharacterArchiveVoice.Parser, new[]{ "Id", "CharacterId", "UnlockAffinityLevel", "UnlockPlot", "Title", "Source", "ArchVoiceType", "Sort" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterArchiveVoice), global::Nova.Client.table_CharacterArchiveVoice.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterCG), global::Nova.Client.CharacterCG.Parser, new[]{ "Id", "FullScreenPortrait", "FullScreenL2D", "UnlockPlot", "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterCG), global::Nova.Client.table_CharacterCG.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterDes), global::Nova.Client.CharacterDes.Parser, new[]{ "Id", "Alias", "CnCv", "JpCv", "CharColor", "CharSkillColor", "CharDes", "Tag", "Force", "PreferTags", "HateTags" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterDes), global::Nova.Client.table_CharacterDes.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterSkillUpgrade), global::Nova.Client.CharacterSkillUpgrade.Parser, new[]{ "Id", "Group", "AdvanceNum", "Tid1", "Qty1", "Tid2", "Qty2", "Tid3", "Qty3", "Tid4", "Qty4", "GoldQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterSkillUpgrade), global::Nova.Client.table_CharacterSkillUpgrade.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterSkin), global::Nova.Client.CharacterSkin.Parser, new[]{ "Id", "Name", "Desc", "IsShow", "CharId", "Type", "SourceDesc", "Transform", "WalkAnimationSpd", "RunAnimationSpd", "SpRunAnimationSpd", "ModelScale", "ColliderScale", "ModelShowScale", "ModelEndScale", "ForbiddenBehitRot", "Icon", "Portrait", "Bg", "Offset", "L2D", "CharacterCG", "Model", "ModelShow", "ModelEnd", "GachaL2D", "SkinTheme", "EffectScaleValue", "TagEffectScaleValue" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterSkin), global::Nova.Client.table_CharacterSkin.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterSkinPanelFace), global::Nova.Client.CharacterSkinPanelFace.Parser, new[]{ "Id", "MainView", "CharInfo", "BattelWin", "BattleLose" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterSkinPanelFace), global::Nova.Client.table_CharacterSkinPanelFace.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterSkinTheme), global::Nova.Client.CharacterSkinTheme.Parser, new[]{ "Id", "Name", "Desc", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterSkinTheme), global::Nova.Client.table_CharacterSkinTheme.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterTag), global::Nova.Client.CharacterTag.Parser, new[]{ "Id", "Title", "TagType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterTag), global::Nova.Client.table_CharacterTag.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterUpgrade), global::Nova.Client.CharacterUpgrade.Parser, new[]{ "Id", "Rarity", "Level", "Exp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterUpgrade), global::Nova.Client.table_CharacterUpgrade.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharacterVoiceControl), global::Nova.Client.CharacterVoiceControl.Parser, new[]{ "Id", "Probability", "ResType", "CombatOnly", "WorldLevelTypes", "Bubble", "Cd", "VoPlayer", "Priority" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharacterVoiceControl), global::Nova.Client.table_CharacterVoiceControl.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharAffinityTemplate), global::Nova.Client.CharAffinityTemplate.Parser, new[]{ "Id", "TemplateId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharAffinityTemplate), global::Nova.Client.table_CharAffinityTemplate.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharGrade), global::Nova.Client.CharGrade.Parser, new[]{ "Grade", "FragmentsQty", "GeneralFragmentId", "SubstituteItemId", "SubstituteItemQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharGrade), global::Nova.Client.table_CharGrade.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharItemExp), global::Nova.Client.CharItemExp.Parser, new[]{ "Id", "ItemId", "ExpValue" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharItemExp), global::Nova.Client.table_CharItemExp.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharPotential), global::Nova.Client.CharPotential.Parser, new[]{ "Id", "MasterSpecificPotentialIds", "AssistSpecificPotentialIds", "CommonPotentialIds", "MasterNormalPotentialIds", "AssistNormalPotentialIds" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharPotential), global::Nova.Client.table_CharPotential.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.CharRaritySequence), global::Nova.Client.CharRaritySequence.Parser, new[]{ "Id", "Grade", "AdvanceLvl", "LvLimit", "WorldClassLimit" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_CharRaritySequence), global::Nova.Client.table_CharRaritySequence.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Chat), global::Nova.Client.Chat.Parser, new[]{ "Id", "AddressBookId", "AVGId", "AVGGroupId", "PreChatId", "Priority", "TriggerType", "AutoPopUp", "TriggerCond", "TriggerCondParam", "Reward1", "RewardQty1", "Reward2", "RewardQty2", "Reward3", "RewardQty3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Chat), global::Nova.Client.table_Chat.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Chest), global::Nova.Client.Chest.Parser, new[]{ "Id", "Group", "Label", "LowFloor", "HighFloor", "TnteractionType", "AutoOpen", "ModelPath", "Item1", "Number1", "Item2", "Number2", "Item3", "Number3", "Item4", "Number4" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Chest), global::Nova.Client.table_Chest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Config), global::Nova.Client.Config.Parser, new[]{ "Id", "Value" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Config), global::Nova.Client.table_Config.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ContentWord), global::Nova.Client.ContentWord.Parser, new[]{ "Id", "PresetColor", "Word" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ContentWord), global::Nova.Client.table_ContentWord.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DailyInstance), global::Nova.Client.DailyInstance.Parser, new[]{ "Id", "DailyType", "Difficulty", "Name", "Desc", "SuggestedPower", "PreLevelId", "PreLevelStar", "NeedWorldClass", "FloorId", "OneStarDesc", "TwoStarDesc", "ThreeStarDesc", "OneStarEnergyConsume", "TwoStarEnergyConsume", "ThreeStarEnergyConsume", "AwardDropId", "PreviewMonsterGroupId", "Icon", "FirstRewardPreview" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DailyInstance), global::Nova.Client.table_DailyInstance.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DailyInstanceFloor), global::Nova.Client.DailyInstanceFloor.Parser, new[]{ "Id", "SceneName", "ConfigPrefabName", "Theme", "BGM", "LeaveTriggerEvent", "MonsterId", "OneStarCondition", "TwoStarCondition", "ThreeStarCondition", "LevelTotalTime", "TimeEndSettlement", "StarConditionType", "MonsterLv", "DropEntityGroupId", "DropEntityRate", "DropMaxNum" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DailyInstanceFloor), global::Nova.Client.table_DailyInstanceFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DailyInstanceRewardGroup), global::Nova.Client.DailyInstanceRewardGroup.Parser, new[]{ "Id", "GroupId", "DailyRewardType", "RewardName", "RewardDes", "RewardIcon", "DropId", "BaseAwardPreview" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DailyInstanceRewardGroup), global::Nova.Client.table_DailyInstanceRewardGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DailyInstanceType), global::Nova.Client.DailyInstanceType.Parser, new[]{ "Id", "Name", "MainLineId", "WorldClassLevel", "Episode", "Image", "Sort", "HowReward" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DailyInstanceType), global::Nova.Client.table_DailyInstanceType.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DailyQuest), global::Nova.Client.DailyQuest.Parser, new[]{ "Id", "Title", "Desc", "JumpTo", "Order", "Active", "Apear", "AcceptParams2", "CompleteCond", "CompleteCondParams", "CompleteCondClient", "ClientCompleteParams1", "ClientCompleteParams2", "ItemTid", "ItemQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DailyQuest), global::Nova.Client.table_DailyQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DailyQuestActive), global::Nova.Client.DailyQuestActive.Parser, new[]{ "Id", "Active", "ItemTid1", "Number1", "ItemTid2", "Number2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DailyQuestActive), global::Nova.Client.table_DailyQuestActive.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DailyQuestAward), global::Nova.Client.DailyQuestAward.Parser, new[]{ "Id", "Title", "NeedPoint", "NumShow", "ItemTid1", "Number1", "ItemTid2", "Number2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DailyQuestAward), global::Nova.Client.table_DailyQuestAward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DatingCharResponse), global::Nova.Client.DatingCharResponse.Parser, new[]{ "Id", "CharId", "Type", "VoiceKey", "Action", "Words", "BubbleEmoji" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DatingCharResponse), global::Nova.Client.table_DatingCharResponse.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DatingEvent), global::Nova.Client.DatingEvent.Parser, new[]{ "Id", "DatingEventType", "DatingEventParams", "MutexTag", "SortTag", "Affinity", "Reward", "Desc1", "Desc2", "Desc3", "Response", "Name", "Clue", "Memory" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DatingEvent), global::Nova.Client.table_DatingEvent.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DatingLandmark), global::Nova.Client.DatingLandmark.Parser, new[]{ "Id", "Name", "Desc", "Icon", "Bg" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DatingLandmark), global::Nova.Client.table_DatingLandmark.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DestroyObject), global::Nova.Client.DestroyObject.Parser, new[]{ "Id", "Name", "Lv", "AttributeId", "Templete", "Faction" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DestroyObject), global::Nova.Client.table_DestroyObject.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DictionaryDiagram), global::Nova.Client.DictionaryDiagram.Parser, new[]{ "Id", "Title", "Desc", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DictionaryDiagram), global::Nova.Client.table_DictionaryDiagram.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DictionaryEntry), global::Nova.Client.DictionaryEntry.Parser, new[]{ "Id", "Index", "Title", "Tab", "ItemId", "Qty", "DiagramList", "Sort", "Popup" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DictionaryEntry), global::Nova.Client.table_DictionaryEntry.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DictionaryTab), global::Nova.Client.DictionaryTab.Parser, new[]{ "TabId", "Icon", "Icon2", "Title", "HideInBattle" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DictionaryTab), global::Nova.Client.table_DictionaryTab.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DictionaryTopBarEntry), global::Nova.Client.DictionaryTopBarEntry.Parser, new[]{ "Id", "Title", "DiagramList" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DictionaryTopBarEntry), global::Nova.Client.table_DictionaryTopBarEntry.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Disc), global::Nova.Client.Disc.Parser, new[]{ "Id", "EET", "Tags", "Visible", "Available", "Image", "Note", "DiscBg", "Card", "GachaBg", "StrengthenGroupId", "AttrBaseGroupId", "PromoteGroupId", "TransformItemId", "MaxStarTransformItem", "PassiveSkillGroupId", "CommonSkillId1", "CommonSkillId2", "ReadReward", "VoFile", "VoBegin1", "VoLoop1", "VoName1", "VoBegin2", "VoLoop2", "VoName2", "VoStory", "StoryName", "StoryDesc", "CharId", "SkillScript" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Disc), global::Nova.Client.table_Disc.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DiscCommonSkill), global::Nova.Client.DiscCommonSkill.Parser, new[]{ "Id", "ActiveNoteType", "ActiveNoteNum", "EffectId1", "EffectId2", "EffectId3", "EffectId4", "EffectId5", "EffectId6", "EffectId7", "EffectId8", "EffectId9", "EffectId10", "LayerScore", "Name", "Icon", "IconBg", "Desc", "Param1", "Param2", "Param3", "Param4", "Param5", "Param6" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DiscCommonSkill), global::Nova.Client.table_DiscCommonSkill.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DiscItemExp), global::Nova.Client.DiscItemExp.Parser, new[]{ "Id", "ItemId", "Exp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DiscItemExp), global::Nova.Client.table_DiscItemExp.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DiscPassiveSkill), global::Nova.Client.DiscPassiveSkill.Parser, new[]{ "Id", "GroupId", "Level", "Break", "MainNote", "ActiveParam1", "EffectId1", "ActiveParam2", "EffectId2", "ActiveParam3", "EffectId3", "ActiveParam4", "EffectId4", "ActiveParam5", "EffectId5", "LayerScore", "Name", "Icon", "IconBg", "Desc1", "Desc2", "Desc3", "Desc4", "Desc5", "Param1", "Param2", "Param3", "Param4", "Param5", "Param6" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DiscPassiveSkill), global::Nova.Client.table_DiscPassiveSkill.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DiscPromote), global::Nova.Client.DiscPromote.Parser, new[]{ "Id", "ItemId1", "Num1", "ItemId2", "Num2", "ItemId3", "Num3", "ItemId4", "Num4", "ExpenseGold" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DiscPromote), global::Nova.Client.table_DiscPromote.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DiscPromoteLimit), global::Nova.Client.DiscPromoteLimit.Parser, new[]{ "Id", "Rarity", "Phase", "MaxLevel" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DiscPromoteLimit), global::Nova.Client.table_DiscPromoteLimit.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DiscStrengthen), global::Nova.Client.DiscStrengthen.Parser, new[]{ "Id", "Exp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DiscStrengthen), global::Nova.Client.table_DiscStrengthen.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DiscTag), global::Nova.Client.DiscTag.Parser, new[]{ "Id", "Title" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DiscTag), global::Nova.Client.table_DiscTag.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Drop), global::Nova.Client.Drop.Parser, new[]{ "DropId", "PkgId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Drop), global::Nova.Client.table_Drop.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DropItemShow), global::Nova.Client.DropItemShow.Parser, new[]{ "DropId", "ItemId", "ItemQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DropItemShow), global::Nova.Client.table_DropItemShow.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DropObject), global::Nova.Client.DropObject.Parser, new[]{ "Id", "DropObjectRes" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DropObject), global::Nova.Client.table_DropObject.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DropObjectGroup), global::Nova.Client.DropObjectGroup.Parser, new[]{ "DropObjectGroupId", "DropObjectId", "Weight" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DropObjectGroup), global::Nova.Client.table_DropObjectGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.DropPkg), global::Nova.Client.DropPkg.Parser, new[]{ "PkgId", "ItemId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_DropPkg), global::Nova.Client.table_DropPkg.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Effect), global::Nova.Client.Effect.Parser, new[]{ "Id", "Name", "LevelTypeData", "LevelData", "MainOrSupport", "Trigger", "TriggerTarget", "TriggerCondition1", "TriggerParam1", "TriggerParam2", "TriggerParam3", "TriggerParam4", "TriggerTarget2", "TriggerCondition2", "Trigger2Param1", "Trigger2Param2", "Trigger2Param3", "Trigger2Param4", "TriggerLogicType", "TakeEffectTarget1", "TakeEffectCondition1", "TakeEffectParam1", "TakeEffectParam2", "TakeEffectParam3", "TakeEffectParam4", "TakeEffectTarget2", "TakeEffectCondition2", "TakeEffect2Param1", "TakeEffect2Param2", "TakeEffect2Param3", "TakeEffect2Param4", "TakeEffectLogicType", "Target1", "TargetCondition1", "TargetParam1", "TargetParam2", "TargetParam3", "TargetParam4", "TargetCondition2", "Target2Param1", "Target2Param2", "Target2Param3", "Target2Param4", "FilterLogicType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Effect), global::Nova.Client.table_Effect.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EffectDesc), global::Nova.Client.EffectDesc.Parser, new[]{ "Id", "TypeID", "Type2ID", "Desc", "RandomAttrDesc", "Attribute", "WordID", "IsPercent", "Icon", "Format" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EffectDesc), global::Nova.Client.table_EffectDesc.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EffectValue), global::Nova.Client.EffectValue.Parser, new[]{ "Id", "Name", "Tag", "TakeEffectLimit", "Remove", "CD", "EffectRate", "EffectType", "EffectTypeFirstSubtype", "EffectTypeSecondSubtype", "EffectTypeParam1", "EffectTypeParam2", "EffectTypeParam3", "EffectTypeParam4", "EffectTypeParam5", "EffectTypeParam6", "EffectTypeParam7" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EffectValue), global::Nova.Client.table_EffectValue.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EndSceneType), global::Nova.Client.EndSceneType.Parser, new[]{ "Id", "Theme", "EndSceneName", "BGM" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EndSceneType), global::Nova.Client.table_EndSceneType.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EnergyBuy), global::Nova.Client.EnergyBuy.Parser, new[]{ "Id", "CurrencyItemId", "CurrencyItemQty", "EnergyValue" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EnergyBuy), global::Nova.Client.table_EnergyBuy.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EnumDesc), global::Nova.Client.EnumDesc.Parser, new[]{ "EnumName", "Value", "Key" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EnumDesc), global::Nova.Client.table_EnumDesc.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Equipment), global::Nova.Client.Equipment.Parser, new[]{ "Id", "Name", "EquipmentType", "AttrGroupId", "ExpGroupId", "MaxLevel", "RandomAttrCount", "Attr1UnlockLevel", "Attr2UnlockLevel", "Attr3UnlockLevel", "Attr4UnlockLevel", "ProvideExp", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Equipment), global::Nova.Client.table_Equipment.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EquipmentGroupExp), global::Nova.Client.EquipmentGroupExp.Parser, new[]{ "Id", "GroupId", "Level", "NeedExp", "TotalExp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EquipmentGroupExp), global::Nova.Client.table_EquipmentGroupExp.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EquipmentInstance), global::Nova.Client.EquipmentInstance.Parser, new[]{ "Id", "EquipmentType", "Difficulty", "Name", "Desc", "SuggestedPower", "PreLevelId", "PreLevelStar", "NeedWorldClass", "FloorId", "OneStarDesc", "TwoStarDesc", "ThreeStarDesc", "OneStarEnergyConsume", "TwoStarEnergyConsume", "ThreeStarEnergyConsume", "BaseAwardPreview", "PreviewMonsterGroupId", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EquipmentInstance), global::Nova.Client.table_EquipmentInstance.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EquipmentInstanceFloor), global::Nova.Client.EquipmentInstanceFloor.Parser, new[]{ "Id", "SceneName", "ConfigPrefabName", "Theme", "BGM", "LeaveTriggerEvent", "MonsterId", "OneStarCondition", "TwoStarCondition", "ThreeStarCondition", "LevelTotalTime", "TimeEndSettlement", "StarConditionType", "MonsterLv", "DropObjectGroupId", "DropObjectRate", "DropMaxNum" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EquipmentInstanceFloor), global::Nova.Client.table_EquipmentInstanceFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EquipmentInstanceType), global::Nova.Client.EquipmentInstanceType.Parser, new[]{ "Id", "Name", "MainLineId", "WorldClassLevel", "OpenDay", "OpenDayDesc", "Episode", "Image", "Sort", "HowReward", "EET" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EquipmentInstanceType), global::Nova.Client.table_EquipmentInstanceType.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EquipmentItemExp), global::Nova.Client.EquipmentItemExp.Parser, new[]{ "Id", "ItemId", "Exp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EquipmentItemExp), global::Nova.Client.table_EquipmentItemExp.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EquipmentRandomAttribute), global::Nova.Client.EquipmentRandomAttribute.Parser, new[]{ "Id", "ElementType", "AttrGroupType", "AttrValueId", "AttrType", "AttrTypeFirstSubtype", "AttrTypeSecondSubtype" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EquipmentRandomAttribute), global::Nova.Client.table_EquipmentRandomAttribute.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ErrorCode), global::Nova.Client.ErrorCode.Parser, new[]{ "Id", "Title", "Template", "ShowType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ErrorCode), global::Nova.Client.table_ErrorCode.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EventOptions), global::Nova.Client.EventOptions.Parser, new[]{ "Id", "Desc", "IgnoreInterActive" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EventOptions), global::Nova.Client.table_EventOptions.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EventOptionsRules), global::Nova.Client.EventOptionsRules.Parser, new[]{ "Id", "Name", "Desc" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EventOptionsRules), global::Nova.Client.table_EventOptionsRules.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.EventResult), global::Nova.Client.EventResult.Parser, new[]{ "Id", "Effect1", "Parameter1", "Effect2", "Parameter2", "Effect3", "Parameter3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_EventResult), global::Nova.Client.table_EventResult.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.FactionRelation), global::Nova.Client.FactionRelation.Parser, new[]{ "Id", "FactionRelationShip" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_FactionRelation), global::Nova.Client.table_FactionRelation.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.FateCard), global::Nova.Client.FateCard.Parser, new[]{ "Id", "Name", "Desc", "Desc2", "IsTower", "IsVampire", "IsVampireSpecial", "ActiveNumber", "Duration", "ActiveRoomTypes", "ActiveAction", "MethodMode", "ClientEffect", "Count", "ThemeType", "ThemeValue", "ThemeTriggerType", "EffectiveImmediately", "Removable" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_FateCard), global::Nova.Client.table_FateCard.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.FloorBuff), global::Nova.Client.FloorBuff.Parser, new[]{ "Id", "AddCamp", "AddClass", "EffectId", "BuffId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_FloorBuff), global::Nova.Client.table_FloorBuff.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Force), global::Nova.Client.Force.Parser, new[]{ "Id", "Title", "Icon1", "Icon2", "TalentPos" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Force), global::Nova.Client.table_Force.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.FormationScene), global::Nova.Client.FormationScene.Parser, new[]{ "SceneName", "Path" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_FormationScene), global::Nova.Client.table_FormationScene.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Gacha), global::Nova.Client.Gacha.Parser, new[]{ "Id", "DefaultId", "DefaultQty", "CostId", "CostQty", "OncePreferred", "TenTimesPreferred", "LimitTimes", "ATypeUpShowProb", "BTypeUpShowProb", "StorageId", "StartTime", "EndTime", "Sort", "Icon", "Image", "UPCharacter", "UPOutfit", "Character", "Outfit", "Tag", "Voice" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Gacha), global::Nova.Client.table_Gacha.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.GachaAcquireReward), global::Nova.Client.GachaAcquireReward.Parser, new[]{ "Id", "ItemStype", "ItemRarity", "AcquireTimes", "ItemId", "ItemNum" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_GachaAcquireReward), global::Nova.Client.table_GachaAcquireReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.GachaType), global::Nova.Client.GachaType.Parser, new[]{ "Id", "Name", "CoinItem", "Title1", "Desc1", "Title2", "Desc2", "Title3", "Desc3", "Title4", "Desc4", "Desc5", "Title5", "Desc6", "Desc7", "Desc8" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_GachaType), global::Nova.Client.table_GachaType.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.GamepadButton), global::Nova.Client.GamepadButton.Parser, new[]{ "Id", "XboxIcon", "PlayStationIcon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_GamepadButton), global::Nova.Client.table_GamepadButton.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.GMBuild), global::Nova.Client.GMBuild.Parser, new[]{ "Id", "BuildData" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_GMBuild), global::Nova.Client.table_GMBuild.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.GMOrder), global::Nova.Client.GMOrder.Parser, new[]{ "Order", "Desc", "ParamCount", "ParamName1", "ParamName2", "ParamName3", "ParamName4" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_GMOrder), global::Nova.Client.table_GMOrder.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.GMTeam), global::Nova.Client.GMTeam.Parser, new[]{ "Id", "Name", "TeamCharacter", "TeamDisc" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_GMTeam), global::Nova.Client.table_GMTeam.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Guide), global::Nova.Client.Guide.Parser, new[]{ "Id", "GroupId", "Step", "Type", "GuidePrepose", "PreposeParams", "GuideTrigger", "TriggerParams", "EndType", "CenterOffset", "BindIcon", "BindIconChildCount", "Size", "Deviation", "Delay", "Head", "Desc", "DescDeviation", "HandDeviation", "HandRotation", "Dictionary", "AvgId", "IsActive" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Guide), global::Nova.Client.table_Guide.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.GuideGroup), global::Nova.Client.GuideGroup.Parser, new[]{ "Id", "GuideDetectionType", "PassiveMsg", "GuidePrepose", "PreposeParams", "GuidePrepose2", "PreposeParams2", "GuidePost", "PostParams", "GuideTrigger", "TriggerParams", "TowerState", "ScriptPath", "IsActive" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_GuideGroup), global::Nova.Client.table_GuideGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Handbook), global::Nova.Client.Handbook.Parser, new[]{ "Id", "Index", "Type", "CharId", "SkinId", "Cond" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Handbook), global::Nova.Client.table_Handbook.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.HitDamage), global::Nova.Client.HitDamage.Parser, new[]{ "Id", "LevelTypeData", "LevelData", "MainOrSupport", "HitdamageInfo", "DistanceType", "SourceType", "DamageType", "EffectType", "ElementType", "DamageTag", "DamageBonusType", "SkillPercentAmend", "SkillAbsAmend", "AdditionalSource", "AdditionalType", "AdditionalPercent", "EnergyCharge", "TalentPercentAmend", "TalentAbsAmend", "IsDenseType", "PerkIntensity", "SkillId", "SkillSlotType", "PerkId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_HitDamage), global::Nova.Client.table_HitDamage.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Honor), global::Nova.Client.Honor.Parser, new[]{ "Id", "Name", "IsUnlock", "Type", "TabType", "Params", "Priotity", "MainRes", "SubRes", "Sort", "BGType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Honor), global::Nova.Client.table_Honor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.HonorCharacter), global::Nova.Client.HonorCharacter.Parser, new[]{ "Id", "CharId", "Level", "BigBgPath", "SmallBgPath", "StarGroup", "Sort", "BGType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_HonorCharacter), global::Nova.Client.table_HonorCharacter.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTower), global::Nova.Client.InfinityTower.Parser, new[]{ "Id", "Name", "ElementType", "FormationSceneName", "Bg", "PreTowerLevelId", "OpenDay", "OpenDayDesc" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTower), global::Nova.Client.table_InfinityTower.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerAffix), global::Nova.Client.InfinityTowerAffix.Parser, new[]{ "Id", "Name", "Desc", "AddCamp", "TriggerCondition", "TriggerParam" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerAffix), global::Nova.Client.table_InfinityTowerAffix.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerBountyLevel), global::Nova.Client.InfinityTowerBountyLevel.Parser, new[]{ "Id", "Level", "Name", "Icon", "RewardDropId", "RewardShow", "Cond1", "CondParam1", "CondDesc1", "Cond2", "CondParam2", "CondDesc2", "Cond3", "CondParam3", "CondDesc3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerBountyLevel), global::Nova.Client.table_InfinityTowerBountyLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerDifficulty), global::Nova.Client.InfinityTowerDifficulty.Parser, new[]{ "Id", "Name", "TowerId", "UnlockWorldClass", "UnlockTips", "IsChallenge", "RecommendLevel", "Sort" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerDifficulty), global::Nova.Client.table_InfinityTowerDifficulty.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerEnemySet), global::Nova.Client.InfinityTowerEnemySet.Parser, new[]{ "SetId", "WaveNum", "GroupNum", "MaxNum", "MaxNumPerWave", "MonsterId", "LevelChange", "CommonGameplayType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerEnemySet), global::Nova.Client.table_InfinityTowerEnemySet.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerFloor), global::Nova.Client.InfinityTowerFloor.Parser, new[]{ "Id", "LvId", "MapId", "BattleLv", "FloorFunc", "MonsterLv", "Stage", "SetId", "LimitTime", "PreviewMonsterGroupId", "AffixId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerFloor), global::Nova.Client.table_InfinityTowerFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerLevel), global::Nova.Client.InfinityTowerLevel.Parser, new[]{ "Id", "Name", "DifficultyId", "LevelType", "Floor", "FloorId", "PreLevelId", "EntryCond", "EntryCondParam", "AwardDropId", "RecommendLv", "RecommendBuildRank", "BaseAwardPreview" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerLevel), global::Nova.Client.table_InfinityTowerLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerMap), global::Nova.Client.InfinityTowerMap.Parser, new[]{ "Id", "SceneName", "ConfigPrefabName", "Theme", "BGM", "LeaveTriggerEvent" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerMap), global::Nova.Client.table_InfinityTowerMap.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerMsg), global::Nova.Client.InfinityTowerMsg.Parser, new[]{ "Id", "Title", "Content", "Type", "DayOfWeek", "Condition", "Params" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerMsg), global::Nova.Client.table_InfinityTowerMsg.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InfinityTowerPlot), global::Nova.Client.InfinityTowerPlot.Parser, new[]{ "Id", "Name", "Desc", "PlotSum", "PlotId", "AvgId", "UnlockCond", "CondParam", "RewardItemId", "RewardItemQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InfinityTowerPlot), global::Nova.Client.table_InfinityTowerPlot.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.InteractiveAction), global::Nova.Client.InteractiveAction.Parser, new[]{ "Id", "PlayerAni", "Icon0", "Title0", "Icon1", "Title1" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_InteractiveAction), global::Nova.Client.table_InteractiveAction.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Item), global::Nova.Client.Item.Parser, new[]{ "Id", "Title", "Desc", "Literary", "Type", "Stype", "Rarity", "Stack", "PositionLimit", "ExpireType", "UseMode", "UseAction", "UseArgs", "Display", "ObtainWays", "JumpTo", "Icon", "Icon2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Item), global::Nova.Client.table_Item.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ItemPackMark), global::Nova.Client.ItemPackMark.Parser, new[]{ "Id", "PackMark", "ItemStype", "Name", "Sort" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ItemPackMark), global::Nova.Client.table_ItemPackMark.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.JumpTo), global::Nova.Client.JumpTo.Parser, new[]{ "Id", "Type", "Param", "Desc", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_JumpTo), global::Nova.Client.table_JumpTo.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.LoginRewardControl), global::Nova.Client.LoginRewardControl.Parser, new[]{ "Id", "RewardsGroup", "DesText", "UIAssets", "PopUpUIAssets" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_LoginRewardControl), global::Nova.Client.table_LoginRewardControl.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.LoginRewardGroup), global::Nova.Client.LoginRewardGroup.Parser, new[]{ "RewardGroupId", "Order", "RewardId1", "Qty1", "RewardId2", "Qty2", "RewardId3", "Qty3", "RewardIcon", "RewardCount", "RewardDesc" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_LoginRewardGroup), global::Nova.Client.table_LoginRewardGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MailTemplate), global::Nova.Client.MailTemplate.Parser, new[]{ "Id", "Explanation", "Icon", "Author", "LetterPaper", "Subject", "Desc", "Type", "Props1", "PropsCount1", "Props2", "PropsCount2", "Props3", "PropsCount3", "Props4", "PropsCount4", "Props5", "PropsCount5", "Props6", "PropsCount6" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MailTemplate), global::Nova.Client.table_MailTemplate.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Mainline), global::Nova.Client.Mainline.Parser, new[]{ "Id", "Num", "Name", "Desc", "Type", "Energy", "ChapterId", "Prev", "Form", "AvgId", "TrialCharacter", "BeforeAvgId", "AfterAvgId", "EnergyConsume", "UnlockItem", "UnlockQty", "GlobReward", "RewardPreview", "ItemReward", "FirstItemReward", "DiamondReward", "MinChestReward", "MaxChestReward", "CharBanned", "FloorId", "Icon", "PosId", "PreviewMonsterGroupId", "Recommend", "Repeat", "SubMapName", "MainlineImg" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Mainline), global::Nova.Client.table_Mainline.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MainlineFloor), global::Nova.Client.MainlineFloor.Parser, new[]{ "Id", "SceneName", "ConfigPrefabName", "Theme", "BGM", "LeaveTriggerEvent", "MonsterLv" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MainlineFloor), global::Nova.Client.table_MainlineFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MallGem), global::Nova.Client.MallGem.Parser, new[]{ "Id", "Name", "Order", "BaseItemId", "BaseItemQty", "ExperiencedBonusItemId", "ExperiencedBonusItemQty", "MaidenBonusItemID", "MaidenBonusItemQty", "Price", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MallGem), global::Nova.Client.table_MallGem.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MallMonthlyCard), global::Nova.Client.MallMonthlyCard.Parser, new[]{ "Id", "Name", "MonthlyCardId", "Price", "BaseItemId", "BaseItemQty", "MaxDays", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MallMonthlyCard), global::Nova.Client.table_MallMonthlyCard.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MallPackage), global::Nova.Client.MallPackage.Parser, new[]{ "Id", "Name", "GroupId", "Sort", "CurrencyType", "CurrencyItemId", "CurrencyItemQty", "Stock", "RefreshType", "Items", "ListCondType", "ListCondParams", "OrderCondType", "OrderCondParams", "ListTime", "DeListTime", "DisplayMode", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MallPackage), global::Nova.Client.table_MallPackage.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MallPackagePage), global::Nova.Client.MallPackagePage.Parser, new[]{ "Id", "Name", "Sort" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MallPackagePage), global::Nova.Client.table_MallPackagePage.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MallShop), global::Nova.Client.MallShop.Parser, new[]{ "Id", "Name", "Desc", "GroupId", "Sort", "ExchangeItemId", "ExchangeItemQty", "Stock", "RefreshType", "ItemId", "ItemQty", "ListCondType", "ListCondParams", "OrderCondType", "OrderCondParams", "ListTime", "DeListTime", "DisplayMode" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MallShop), global::Nova.Client.table_MallShop.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MallShopPage), global::Nova.Client.MallShopPage.Parser, new[]{ "Id", "Sort", "Name", "RefreshTimeType", "ShopCoin", "ListTime", "DeListTime" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MallShopPage), global::Nova.Client.table_MallShopPage.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Monster), global::Nova.Client.Monster.Parser, new[]{ "Id", "Name", "FormalNameId", "EpicLv", "MonsterPosition", "BloodType", "Force", "FCId", "FAId", "MovType", "RunSpd", "TransSpdScale", "WalkSpd", "MovAcc", "VisionRng", "VisionDeg", "HearRng", "RefRng", "ActRng", "DisActRng", "SearchRng", "RotSpd", "RotSpdInSkill", "Templete", "BuffIds", "SubType", "Faction", "TrapTagIds", "SupCharge", "IsShowRng", "Weight", "ToughnessBrokenTime", "Tag1", "Tag2", "Tag3", "Tag4", "Tag5", "AttackHintType", "BlockPriority", "WayPointShift", "MonsterTeamId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Monster), global::Nova.Client.table_Monster.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterActionBranch), global::Nova.Client.MonsterActionBranch.Parser, new[]{ "Id", "GroupId", "SkillId", "Priority", "Weight", "Rate", "CD", "InitialCDPool", "MinInitialCD", "MaxInitialCD", "StartCDTime", "FixedCD", "ReleaseDistance", "ReleaseAngle", "TraceDuration", "Activate", "ActiveConditionType1", "ActiveParam1", "ActiveParam2", "DeActiveConditionType1", "DeActiveParam1", "DeActiveParam2", "FollowEventType1", "FollowEventParam1", "FollowEventType2", "FollowEventParam2", "FollowEventType3", "FollowEventParam3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterActionBranch), global::Nova.Client.table_MonsterActionBranch.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterAI), global::Nova.Client.MonsterAI.Parser, new[]{ "Id", "ComboGroupPath", "SpawnShowSkillId", "IdleShowSkillId", "DieSkillId", "ActionAIPath", "ActionBranchIds", "ThinkInterval", "IdleAIPath", "SpawnAIPath", "ParallelAIPath", "CheckAchievement", "WanderRange", "WanderInterval", "WanderRate" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterAI), global::Nova.Client.table_MonsterAI.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterBornGroup), global::Nova.Client.MonsterBornGroup.Parser, new[]{ "GroupId", "MonsterId", "Difficulty", "MinFloor", "MaxFloor" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterBornGroup), global::Nova.Client.table_MonsterBornGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterGroup), global::Nova.Client.MonsterGroup.Parser, new[]{ "Id", "Monsters" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterGroup), global::Nova.Client.table_MonsterGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterSkin), global::Nova.Client.MonsterSkin.Parser, new[]{ "Id", "Name", "Desc", "Icon", "HintIcon", "Model", "RunAnimationSpd", "WalkAnimationSpd", "BarHeight", "ModelScale", "BuffFXScale", "ColliderScale", "ForbiddenBehitRot", "EffectScaleValue", "TagEffectScaleValue" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterSkin), global::Nova.Client.table_MonsterSkin.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterTeam), global::Nova.Client.MonsterTeam.Parser, new[]{ "Id", "Mate0Id", "Mate1Id", "Mate2Id", "Mate3Id", "Mate4Id", "Mate5Id", "Mate6Id", "Mate7Id" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterTeam), global::Nova.Client.table_MonsterTeam.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterValueTemplete), global::Nova.Client.MonsterValueTemplete.Parser, new[]{ "Id", "TemplateId", "Name", "Lv", "Hp", "Atk", "Def", "CritRate", "NormalCritRate", "SkillCritRate", "UltraCritRate", "MarkCritRate", "SummonCritRate", "ProjectileCritRate", "OtherCritRate", "CritResistance", "CritPower", "NormalCritPower", "SkillCritPower", "UltraCritPower", "MarkCritPower", "SummonCritPower", "ProjectileCritPower", "OtherCritPower", "HitRate", "Evd", "AtkSpd", "DefPierce", "DefIgnore", "WEP", "FEP", "SEP", "AEP", "LEP", "DEP", "WEI", "FEI", "SEI", "AEI", "LEI", "DEI", "WEE", "FEE", "SEE", "AEE", "LEE", "DEE", "WER", "FER", "SER", "AER", "LER", "DER", "Toughness", "Suppress", "RCDMARKDMG" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterValueTemplete), global::Nova.Client.table_MonsterValueTemplete.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonsterValueTempleteAdjust), global::Nova.Client.MonsterValueTempleteAdjust.Parser, new[]{ "Id", "TemplateId", "Name", "EET", "WeakEET", "HpRatio", "HpFix", "AtkRatio", "AtkFix", "WERRatio", "WERFix", "FERRatio", "FERFix", "SERRatio", "SERFix", "AERRatio", "AERFix", "LERRatio", "LERFix", "DERRatio", "DERFix", "ToughnessRatio", "ToughnessFix", "SuppressRatio", "SuppressFix" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonsterValueTempleteAdjust), global::Nova.Client.table_MonsterValueTempleteAdjust.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.MonthlyCard), global::Nova.Client.MonthlyCard.Parser, new[]{ "Id", "CardId", "RewardId1", "RewardNum1", "RewardId2", "RewardNum2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_MonthlyCard), global::Nova.Client.table_MonthlyCard.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Note), global::Nova.Client.Note.Parser, new[]{ "Id", "Note_", "Style1", "Style2", "Style3", "Style4", "Style5", "Style6", "Style7", "Style8", "Color", "Name1", "Name2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Note), global::Nova.Client.table_Note.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.NoteDropGroup), global::Nova.Client.NoteDropGroup.Parser, new[]{ "Index", "GroupId", "RandomNoteRange", "ANoteRange", "BNoteRange", "CNoteRange", "DNoteRange", "ENoteRange", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_NoteDropGroup), global::Nova.Client.table_NoteDropGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.NPCConfig), global::Nova.Client.NPCConfig.Parser, new[]{ "Id", "Type", "Name", "Desc", "Literary", "RefreshPoint", "FirstLines", "Lines", "Chat", "ChatProp", "ChatTime", "NPCId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_NPCConfig), global::Nova.Client.table_NPCConfig.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.NPCSkin), global::Nova.Client.NPCSkin.Parser, new[]{ "Id", "Name", "Desc", "IsShow", "CharId", "Type", "SourceDesc", "Icon", "SmallPortrait", "ModelScale", "Model", "Portrait", "Bg", "Offset", "L2D", "FullScreenPortrait", "SkinTheme", "InteractiveAction", "InteractiveActionId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_NPCSkin), global::Nova.Client.table_NPCSkin.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.OnceAdditionalAttribute), global::Nova.Client.OnceAdditionalAttribute.Parser, new[]{ "Id", "LevelTypeData", "LevelData", "MainOrSupport" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_OnceAdditionalAttribute), global::Nova.Client.table_OnceAdditionalAttribute.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.OnceAdditionalAttributeValue), global::Nova.Client.OnceAdditionalAttributeValue.Parser, new[]{ "Id", "AttributeType1", "ParameterType1", "Value1", "AttributeType2", "ParameterType2", "Value2", "AttributeType3", "ParameterType3", "Value3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_OnceAdditionalAttributeValue), global::Nova.Client.table_OnceAdditionalAttributeValue.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.OpenFunc), global::Nova.Client.OpenFunc.Parser, new[]{ "Id", "Name", "NeedWorldClass", "NeedConditions", "NeedRoguelike", "PopWindows", "Desc", "Icon", "Tips" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_OpenFunc), global::Nova.Client.table_OpenFunc.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PeriodicQuest), global::Nova.Client.PeriodicQuest.Parser, new[]{ "Id", "Belong", "Groupid", "Title", "JumpTo", "Reward", "RewardQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PeriodicQuest), global::Nova.Client.table_PeriodicQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PeriodicQuestControl), global::Nova.Client.PeriodicQuestControl.Parser, new[]{ "Id", "FinalReward1", "FinalRewardQty1", "FinalReward2", "FinalRewardQty2", "FinalReward3", "FinalRewardQty3", "DesText", "UIAssets", "CtrlName", "PreviewType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PeriodicQuestControl), global::Nova.Client.table_PeriodicQuestControl.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PeriodicQuestGroup), global::Nova.Client.PeriodicQuestGroup.Parser, new[]{ "Belong", "GroupId", "UnlockTime" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PeriodicQuestGroup), global::Nova.Client.table_PeriodicQuestGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Perk), global::Nova.Client.Perk.Parser, new[]{ "Id", "MaxLevel", "AdditionalLevel", "EET", "ScoreGroupId", "StrengthScore", "PerkType", "CharId", "CharPerkType", "Theme", "GameBookId", "OperatingFloorType", "OperatingNumber", "Price", "Slot", "Tags", "PrePerkIds", "PreTagPkgs", "NeedFloor", "EffectGroupId", "IsEffective", "PerkTag1", "PerkTag2", "PerkTag3", "PerkTag4", "LogoIcon", "SlotTag" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Perk), global::Nova.Client.table_Perk.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PerkPassiveSkill), global::Nova.Client.PerkPassiveSkill.Parser, new[]{ "Id", "ShareCD", "ShareTimes", "EffectId1", "EffectId2", "EffectId3", "EffectId4", "Name", "Desc", "Desc1", "Param1", "Desc2", "Param2", "Desc3", "Param3", "Desc4", "Param4" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PerkPassiveSkill), global::Nova.Client.table_PerkPassiveSkill.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PlayerHead), global::Nova.Client.PlayerHead.Parser, new[]{ "Id", "Icon" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PlayerHead), global::Nova.Client.table_PlayerHead.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Plot), global::Nova.Client.Plot.Parser, new[]{ "Id", "Char", "Name", "Desc", "AvgId", "Mainlines", "UnlockAffinityLevel", "ConnectChatId", "CharAdvanceCond", "Rewards", "PicSource" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Plot), global::Nova.Client.table_Plot.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Potential), global::Nova.Client.Potential.Parser, new[]{ "Id", "CharId", "BranchType", "MaxLevel", "ScoreGroupId", "BuildScore", "GameBookId", "EffectGroupId", "IsEffective", "PotentialTag1", "PotentialTag2", "PotentialTag3", "PotentialTag4", "Corner", "SpBg", "SpFace", "EffectId1", "EffectId2", "EffectId3", "EffectId4", "BriefDesc", "Desc", "Param1", "Param2", "Param3", "Param4", "Param5", "Param6", "Param7", "Param8", "Param9", "Param10" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Potential), global::Nova.Client.table_Potential.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PotentialPassiveSkill), global::Nova.Client.PotentialPassiveSkill.Parser, new[]{ "Id", "ShareCD", "ShareTimes", "EffectId1", "EffectId2", "EffectId3", "EffectId4", "BriefDesc", "Desc", "Param1", "Param2", "Param3", "Param4" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PotentialPassiveSkill), global::Nova.Client.table_PotentialPassiveSkill.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PreviewMonsterGroup), global::Nova.Client.PreviewMonsterGroup.Parser, new[]{ "Id", "GroupId", "PreviewMonsterListId", "MinLv", "MaxLv" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PreviewMonsterGroup), global::Nova.Client.table_PreviewMonsterGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.PreviewMonsterList), global::Nova.Client.PreviewMonsterList.Parser, new[]{ "Id", "Icon", "Name", "ResistEET", "EET", "Desc", "SkillDesc", "EpicLv", "HP", "ATK", "DEF", "TOUGHNESS", "AbilityTitle1", "AbilityDesc1", "AbilityTitle2", "AbilityDesc2", "AbilityTitle3", "AbilityDesc3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_PreviewMonsterList), global::Nova.Client.table_PreviewMonsterList.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Production), global::Nova.Client.Production.Parser, new[]{ "Id", "Name", "Desc", "ProductionId", "ProductionPerBatch", "ShowProductionId", "ShowProductionPerBatch", "Group", "Tag", "RawMaterialId1", "RawMaterialCount1", "RawMaterialId2", "RawMaterialCount2", "RawMaterialId3", "RawMaterialCount3", "RawMaterialId4", "RawMaterialCount4", "IsShowWorldLevel", "UnlockWorldLevel", "UnlockTip", "SortId", "IsActived" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Production), global::Nova.Client.table_Production.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ProductionType), global::Nova.Client.ProductionType.Parser, new[]{ "Id", "TypeName", "SortId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ProductionType), global::Nova.Client.table_ProductionType.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.RandomLevelMonster), global::Nova.Client.RandomLevelMonster.Parser, new[]{ "Id", "Name", "EpicLv", "BloodType", "EET", "FCId", "FAId", "MovType", "RunSpd", "TransSpdScale", "WalkSpd", "MovAcc", "VisionRng", "VisionDeg", "HearRng", "RefRng", "ActRng", "DisActRng", "RotSpd", "Templete", "WEP", "FEP", "SEP", "AEP", "LEP", "DEP", "WEE", "FEE", "SEE", "AEE", "LEE", "DEE", "WER", "FER", "SER", "AER", "LER", "DER", "BuffIds", "Weight", "TrapTagIds", "Faction", "SupCharge", "IsShowRng", "TrapAttrId", "Tag1", "Tag2", "Tag3", "Tag4", "Tag5" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_RandomLevelMonster), global::Nova.Client.table_RandomLevelMonster.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Rank), global::Nova.Client.Rank.Parser, new[]{ "Rank_", "Exp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Rank), global::Nova.Client.table_Rank.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.RegionBoss), global::Nova.Client.RegionBoss.Parser, new[]{ "Id", "MonsterId", "RegionType", "Name", "Icon", "UnlockCondition", "NeedRoguelike", "Sort", "OpenDay", "OpenDayDesc", "EET", "Episode", "Image", "DropItem" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_RegionBoss), global::Nova.Client.table_RegionBoss.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.RegionBossAffix), global::Nova.Client.RegionBossAffix.Parser, new[]{ "Id", "GroupId", "Level", "Name", "Desc", "Icon", "Element", "AddCamp", "AddClass", "SkillId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_RegionBossAffix), global::Nova.Client.table_RegionBossAffix.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.RegionBossFloor), global::Nova.Client.RegionBossFloor.Parser, new[]{ "Id", "SceneName", "ConfigPrefabName", "Theme", "BGM", "LeaveTriggerEvent", "MonsterLv", "DungeonDelay" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_RegionBossFloor), global::Nova.Client.table_RegionBossFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.RegionBossLevel), global::Nova.Client.RegionBossLevel.Parser, new[]{ "Id", "RegionBossId", "Difficulty", "RegionType", "Name", "Desc", "Icon", "SuggestedPower", "PreLevelId", "BossShowTime", "PreLevelStar", "NeedWorldClass", "NeedRoguelike", "FloorId", "OneStarCondition", "TwoStarCondition", "ThreeStarCondition", "DropId", "EnergyConsume", "BaseAwardPreview", "EntryGroupId1", "EntryGroupLevel1", "EntryGroupId2", "EntryGroupLevel2", "EntryGroupId3", "EntryGroupLevel3", "EntryGroupId4", "EntryGroupLevel4", "EntryGroupId5", "EntryGroupLevel5", "ExtraDropPreview" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_RegionBossLevel), global::Nova.Client.table_RegionBossLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ResidentGoods), global::Nova.Client.ResidentGoods.Parser, new[]{ "Id", "Name", "Desc", "ShopId", "SaleNumber", "ItemId", "ItemQuantity", "MaximumLimit", "CurrencyItemId", "Price", "OriginalPrice", "Discount", "AppearCondType", "AppearCondParams", "PurchaseCondType", "PurchaseCondParams", "UpShelfTime", "DownShelfTime", "UnlockPurchaseTime", "DisplayMode" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ResidentGoods), global::Nova.Client.table_ResidentGoods.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ResidentShop), global::Nova.Client.ResidentShop.Parser, new[]{ "Id", "ShopCoin", "Type", "Name", "Sequence", "RefreshTimeType", "RefreshInterval", "UnlockCondType", "UnlockCondParams", "OpenTime", "CloseTime" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ResidentShop), global::Nova.Client.table_ResidentShop.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ScriptParameter), global::Nova.Client.ScriptParameter.Parser, new[]{ "Id", "LevelTypeData", "LevelData", "MainOrSupport" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ScriptParameter), global::Nova.Client.table_ScriptParameter.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ScriptParameterValue), global::Nova.Client.ScriptParameterValue.Parser, new[]{ "Id", "CommonData" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ScriptParameterValue), global::Nova.Client.table_ScriptParameterValue.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Shield), global::Nova.Client.Shield.Parser, new[]{ "Id", "Name", "LevelTypeData", "LevelData", "MainOrSupport", "BindEffect", "ShieldTag1", "ShieldTag2", "ShieldTag3", "TimeSuperposition", "NotRemove" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Shield), global::Nova.Client.table_Shield.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.ShieldValue), global::Nova.Client.ShieldValue.Parser, new[]{ "Id", "Name", "AbsorptionBase", "ReferenceTarget", "ReferenceAttrib", "ReferenceScale", "Time", "ShieldLaminatedNum", "TimeSuperposition", "NotRemove" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_ShieldValue), global::Nova.Client.table_ShieldValue.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.SignIn), global::Nova.Client.SignIn.Parser, new[]{ "ID", "Group", "Day", "ItemId", "ItemQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_SignIn), global::Nova.Client.table_SignIn.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Skill), global::Nova.Client.Skill.Parser, new[]{ "Id", "Title", "FCPath", "Type", "Desc", "Icon", "SkillCD", "MaxLevel", "RelatedSkill", "SectionAmount", "UseInterval", "UseTimeHint", "UltraEnergy", "CheckCDRestore", "ForceRunFinish", "GetEnergyLimit", "Param1", "Param2", "Param3", "Param4", "Param5", "Param6", "Param7", "Param8", "Param9", "Param10", "IsCleanSkillCD" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Skill), global::Nova.Client.table_Skill.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.SkillDamage), global::Nova.Client.SkillDamage.Parser, new[]{ "Id", "LVDamage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_SkillDamage), global::Nova.Client.table_SkillDamage.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTower), global::Nova.Client.StarTower.Parser, new[]{ "Id", "Name", "Desc", "GroupId", "PreConditions", "PreviewMonsterGroupId", "Difficulty", "ValueDifficulty", "Recommend", "CurrencyId", "StageGroupIds", "FloorNum", "TeamExpGroupId", "EET", "NotEET", "Episode", "Image", "NPCId", "RewardPreview", "ShopNpc", "StandShopNpc", "UpgradeNpc", "ResqueNpc", "DangerNpc", "HorrorNpc", "DangerEndEvent", "HorrorEndEvent", "DestructibleObjectType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTower), global::Nova.Client.table_StarTower.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBattleThreshold), global::Nova.Client.StarTowerBattleThreshold.Parser, new[]{ "MissionId", "Version", "FromSrcAtk", "FromPerkIntensityRatio", "FromSlotDmgRatio", "FromEE", "FromGenDmgRatio", "FromDmgPlus", "FromCritRatio", "FromFinalDmgRatio", "FromFinalDmgPlus", "ToErAmend", "ToDefAmend", "ToRcdSlotDmgRatio", "ToEERCD", "ToGenDmgRcdRatio", "ToDmgPlusRcd", "Dmg", "CritRate", "Hp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBattleThreshold), global::Nova.Client.table_StarTowerBattleThreshold.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBookEntrance), global::Nova.Client.StarTowerBookEntrance.Parser, new[]{ "Id", "Icon", "Position", "Desc" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBookEntrance), global::Nova.Client.table_StarTowerBookEntrance.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBookEventReward), global::Nova.Client.StarTowerBookEventReward.Parser, new[]{ "Id", "Name", "Story", "NPCId", "Sort", "Source", "ItemId", "ItemQty", "IsBanned" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBookEventReward), global::Nova.Client.table_StarTowerBookEventReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBookFateCard), global::Nova.Client.StarTowerBookFateCard.Parser, new[]{ "Id", "BundleId", "Icon", "SortId", "Source", "UnlockTip", "WorldClass", "StarTowerId", "CollectCards", "UnlockCards", "IsBanned" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBookFateCard), global::Nova.Client.table_StarTowerBookFateCard.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBookFateCardBundle), global::Nova.Client.StarTowerBookFateCardBundle.Parser, new[]{ "Id", "Name", "ShortName", "SortId", "Tag", "SmallIcon", "BundleIcon", "Icon", "WorldClass", "StarTowerId", "CollectCards", "UnlockCards" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBookFateCardBundle), global::Nova.Client.table_StarTowerBookFateCardBundle.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBookFateCardQuest), global::Nova.Client.StarTowerBookFateCardQuest.Parser, new[]{ "Id", "BundleId", "Desc", "FinishType", "FinishParams", "Tid1", "Qty1", "Tid2", "Qty2", "Tid3", "Qty3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBookFateCardQuest), global::Nova.Client.table_StarTowerBookFateCardQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBookPotentialReward), global::Nova.Client.StarTowerBookPotentialReward.Parser, new[]{ "Id", "CharId", "Desc", "Sort", "Cond", "Params", "ItemId", "ItemQty" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBookPotentialReward), global::Nova.Client.table_StarTowerBookPotentialReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerBuildRank), global::Nova.Client.StarTowerBuildRank.Parser, new[]{ "Id", "MinGrade", "Rarity" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerBuildRank), global::Nova.Client.table_StarTowerBuildRank.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerCombatEvent), global::Nova.Client.StarTowerCombatEvent.Parser, new[]{ "Id", "Name", "Type", "Params", "Active", "Start", "Interact" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerCombatEvent), global::Nova.Client.table_StarTowerCombatEvent.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerCombo), global::Nova.Client.StarTowerCombo.Parser, new[]{ "Id", "BattleLvs" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerCombo), global::Nova.Client.table_StarTowerCombo.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerDropItem), global::Nova.Client.StarTowerDropItem.Parser, new[]{ "Id", "Type", "DropSplitRange", "Rate", "Model" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerDropItem), global::Nova.Client.table_StarTowerDropItem.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerEnemySet), global::Nova.Client.StarTowerEnemySet.Parser, new[]{ "SetId", "WaveNum", "MaxNum", "MaxNumPerWave", "MonsterId", "RefInterval" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerEnemySet), global::Nova.Client.table_StarTowerEnemySet.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerEvent), global::Nova.Client.StarTowerEvent.Parser, new[]{ "Id", "GroupId", "OptionsRulesId", "Desc", "EventType", "GuaranteedMapId", "Npc", "RelatedCharacter" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerEvent), global::Nova.Client.table_StarTowerEvent.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerEventAction), global::Nova.Client.StarTowerEventAction.Parser, new[]{ "Id", "EventId", "TrigVoice", "Desc", "Group" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerEventAction), global::Nova.Client.table_StarTowerEventAction.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerEventOptionAction), global::Nova.Client.StarTowerEventOptionAction.Parser, new[]{ "Id", "OptionId", "Desc", "Group" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerEventOptionAction), global::Nova.Client.table_StarTowerEventOptionAction.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerFloor), global::Nova.Client.StarTowerFloor.Parser, new[]{ "Id", "CommonGameplayType", "CommonMonsterSet", "LimitTime", "DropObjectGroupId", "DropObjectRate", "DropMaxNum", "MonsterSurplusNum" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerFloor), global::Nova.Client.table_StarTowerFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerFloorAward), global::Nova.Client.StarTowerFloorAward.Parser, new[]{ "Id", "RoguelikeId", "CombatFloor", "InteriorCurrencyQuantity", "NeedEnergy", "Affinity" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerFloorAward), global::Nova.Client.table_StarTowerFloorAward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerFloorExp), global::Nova.Client.StarTowerFloorExp.Parser, new[]{ "Id", "StarTowerId", "Stage", "NormalExp", "EliteExp", "BossExp", "FinalBossExp", "DangerExp", "HorrorExp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerFloorExp), global::Nova.Client.table_StarTowerFloorExp.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerFloorSet), global::Nova.Client.StarTowerFloorSet.Parser, new[]{ "Id", "BattleLvs", "Stage", "RoomType", "MapID", "FloorID", "MonsterLv", "ThemeSkillLv", "Weight", "MutexGroup", "SpecialModeId", "MonsterGroupBlacklist" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerFloorSet), global::Nova.Client.table_StarTowerFloorSet.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerGroup), global::Nova.Client.StarTowerGroup.Parser, new[]{ "Id", "Name", "EET", "Episode", "Sort", "GroupType", "GroupTheme" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerGroup), global::Nova.Client.table_StarTowerGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerGrowthGroup), global::Nova.Client.StarTowerGrowthGroup.Parser, new[]{ "Id", "PreGroup", "WorldClass", "Name" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerGrowthGroup), global::Nova.Client.table_StarTowerGrowthGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerGrowthNode), global::Nova.Client.StarTowerGrowthNode.Parser, new[]{ "Id", "NodeId", "Group", "Name", "IsServer", "IsClient", "Type", "Color", "PreNodes", "EffectClient", "ClientParams", "Priority", "Icon", "Position", "Desc", "ItemId1", "ItemQty1", "ItemId2", "ItemQty2", "ItemId3", "ItemQty3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerGrowthNode), global::Nova.Client.table_StarTowerGrowthNode.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerHarmonySkill), global::Nova.Client.StarTowerHarmonySkill.Parser, new[]{ "Id", "Rarity", "Name", "Tag", "Score", "EffectId", "Desc", "Icon", "IconBg", "IconCorner" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerHarmonySkill), global::Nova.Client.table_StarTowerHarmonySkill.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerLimitReward), global::Nova.Client.StarTowerLimitReward.Parser, new[]{ "Id", "Stage", "StarTowerId", "RoomType", "TimeLimit" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerLimitReward), global::Nova.Client.table_StarTowerLimitReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerMap), global::Nova.Client.StarTowerMap.Parser, new[]{ "Id", "SceneRes", "BGSceneRes", "Theme", "PrefabNum", "Mir", "OutPortNum", "OutPortHint", "BGMRes", "CompleteSoundEffectRes" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerMap), global::Nova.Client.table_StarTowerMap.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerMapMaxNumPerStage), global::Nova.Client.StarTowerMapMaxNumPerStage.Parser, new[]{ "Id", "MaxNumPerStage" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerMapMaxNumPerStage), global::Nova.Client.table_StarTowerMapMaxNumPerStage.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerMonsterBornGroup), global::Nova.Client.StarTowerMonsterBornGroup.Parser, new[]{ "GroupId", "MonsterId", "Difficulty", "MinFloor", "MaxFloor" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerMonsterBornGroup), global::Nova.Client.table_StarTowerMonsterBornGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerMonsterSpAttr), global::Nova.Client.StarTowerMonsterSpAttr.Parser, new[]{ "Id", "MonsterPosition", "ThemeSkills", "ContinuousKillingTime", "RougeMoneyDropRange", "RougeExpDropRange", "RefDistance", "RefInterval" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerMonsterSpAttr), global::Nova.Client.table_StarTowerMonsterSpAttr.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerQuest), global::Nova.Client.StarTowerQuest.Parser, new[]{ "Id", "Title", "JumpTo", "TowerQuestType", "PreTowerQuestIds", "Reward1", "RewardQty1", "Reward2", "RewardQty2", "Reward3", "RewardQty3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerQuest), global::Nova.Client.table_StarTowerQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerRankAffix), global::Nova.Client.StarTowerRankAffix.Parser, new[]{ "Id", "Name", "Desc", "Rarity", "Effect" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerRankAffix), global::Nova.Client.table_StarTowerRankAffix.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerRankReward), global::Nova.Client.StarTowerRankReward.Parser, new[]{ "Id", "RankLower", "AwardItemTid1", "AwardItemNum1", "AwardItemTid2", "AwardItemNum2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerRankReward), global::Nova.Client.table_StarTowerRankReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerRankScore), global::Nova.Client.StarTowerRankScore.Parser, new[]{ "Difficulty", "BaseScore", "MaximumScore" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerRankScore), global::Nova.Client.table_StarTowerRankScore.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerRankSeason), global::Nova.Client.StarTowerRankSeason.Parser, new[]{ "Id", "GroupId", "OpenTime", "EndTime", "Affix1", "AffixAdd1", "Affix2", "AffixAdd2", "Affix3", "AffixAdd3", "Affix4", "AffixAdd4" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerRankSeason), global::Nova.Client.table_StarTowerRankSeason.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerScenePrefab), global::Nova.Client.StarTowerScenePrefab.Parser, new[]{ "Id", "ConfigRes", "BianQuan", "GameplayTypes" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerScenePrefab), global::Nova.Client.table_StarTowerScenePrefab.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerShopGoodsGroup), global::Nova.Client.StarTowerShopGoodsGroup.Parser, new[]{ "Id", "ShowItem" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerShopGoodsGroup), global::Nova.Client.table_StarTowerShopGoodsGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerSpecificCombat), global::Nova.Client.StarTowerSpecificCombat.Parser, new[]{ "Id", "Name", "Desc", "Type", "EventId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerSpecificCombat), global::Nova.Client.table_StarTowerSpecificCombat.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerSpMode), global::Nova.Client.StarTowerSpMode.Parser, new[]{ "Id", "LimitTimeWeight", "LimitKilledWeight", "GoblinWeight", "ContinuousKillingWeight" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerSpMode), global::Nova.Client.table_StarTowerSpMode.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerStage), global::Nova.Client.StarTowerStage.Parser, new[]{ "Id", "Stage", "GroupId", "Floor", "RoomType", "InteriorCurrencyQuantity", "GuaranteedMapId", "GuaranteedMonsterPlanId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerStage), global::Nova.Client.table_StarTowerStage.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerTalk), global::Nova.Client.StarTowerTalk.Parser, new[]{ "Id", "Name", "Content", "Color", "Face", "Voice" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerTalk), global::Nova.Client.table_StarTowerTalk.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StarTowerTeamExp), global::Nova.Client.StarTowerTeamExp.Parser, new[]{ "Id", "GroupId", "Level", "NeedExp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StarTowerTeamExp), global::Nova.Client.table_StarTowerTeamExp.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Story), global::Nova.Client.Story.Parser, new[]{ "Id", "StoryId", "Comment", "Chapter", "Index", "Title", "Desc", "TrialBuild", "ConditionId", "IsBranch", "IsBattle", "Reward", "RewardDisplay", "ParentStoryId", "HasEvidence", "AvgLuaName", "FloorId", "PreviewMonsterGroupId", "Recommend", "Aim" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Story), global::Nova.Client.table_Story.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StoryChapter), global::Nova.Client.StoryChapter.Parser, new[]{ "Id", "Type", "WorldClass", "PrevStories", "Index", "Name", "Desc", "ChapterIcon", "TimeStamp", "ChapterYear", "UnlockShowStoryId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StoryChapter), global::Nova.Client.table_StoryChapter.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StoryCondition), global::Nova.Client.StoryCondition.Parser, new[]{ "Id", "ConditionId", "Comment", "EvIdsA", "EvIdsB", "StoryIdA", "StoryIdB", "PlayerWorldLevel" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StoryCondition), global::Nova.Client.table_StoryCondition.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StoryEvidence), global::Nova.Client.StoryEvidence.Parser, new[]{ "Id", "EvId", "Comment", "Name", "Desc", "Icon", "IconBg" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StoryEvidence), global::Nova.Client.table_StoryEvidence.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StoryPersonality), global::Nova.Client.StoryPersonality.Parser, new[]{ "Id", "Name", "Db", "Icon", "Color" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StoryPersonality), global::Nova.Client.table_StoryPersonality.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.StoryRolePersonality), global::Nova.Client.StoryRolePersonality.Parser, new[]{ "Id", "AvgCharId", "Personalitys", "BaseValue", "Amax", "AmaxFace", "Bmax", "BmaxFace", "Cmax", "CmaxFace", "Aplus", "AplusFace", "Bplus", "BplusFace", "Cplus", "CplusFace", "Ab", "AbFace", "Ac", "AcFace", "Bc", "BcFace", "Normal", "NormalFace" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_StoryRolePersonality), global::Nova.Client.table_StoryRolePersonality.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Talent), global::Nova.Client.Talent.Parser, new[]{ "Id", "Index", "Title", "GroupId", "Type", "SubType", "Sort", "Nodes", "EffectId", "EnhanceSkillId", "EnhanceSkillLevel", "EnhancePotentialId", "EnhancePotentialLevel", "Desc", "Icon", "Param1", "Param2", "Param3", "Param4", "Param5", "Param6", "Param7", "Param8", "Param9", "Param10" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Talent), global::Nova.Client.table_Talent.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TalentGroup), global::Nova.Client.TalentGroup.Parser, new[]{ "Id", "CharId", "PreGroup", "NodeLimit", "Title" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TalentGroup), global::Nova.Client.table_TalentGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Title), global::Nova.Client.Title.Parser, new[]{ "Id", "ItemId", "TitleType", "Desc", "Sort" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Title), global::Nova.Client.table_Title.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TopBar), global::Nova.Client.TopBar.Parser, new[]{ "Id", "Title", "EntryId", "HideBack", "Energy", "Coin", "CoinIds", "HideCoinAdd" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TopBar), global::Nova.Client.table_TopBar.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TourGuideQuest), global::Nova.Client.TourGuideQuest.Parser, new[]{ "Id", "Order", "Title", "JumpTo", "Reward1", "RewardQty1", "Reward2", "RewardQty2", "Reward3", "RewardQty3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TourGuideQuest), global::Nova.Client.table_TourGuideQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TourGuideQuestGroup), global::Nova.Client.TourGuideQuestGroup.Parser, new[]{ "Id", "Order", "Reward1", "RewardQty1", "Reward2", "RewardQty2", "Reward3", "RewardQty3", "Reward4", "RewardQty4", "Reward5", "RewardQty5", "Reward6", "RewardQty6" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TourGuideQuestGroup), global::Nova.Client.table_TourGuideQuestGroup.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Trap), global::Nova.Client.Trap.Parser, new[]{ "Id", "Name", "FCId", "Model", "ModelScale", "BuffFXScale", "ColliderScale", "AttributeId", "Templete", "BuffIds", "TurnOffBuffIds", "TurnOnBuffIds", "InterruptSkill", "SubType", "Faction", "Filter", "IgnoreCollision", "ActiveEff", "ShapeType", "Width", "Length", "Radius", "InnerRadius", "Angle", "Offset", "Rotation", "IsMove", "IsBlock", "MovAcc", "RotSpd", "MoveSpd" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Trap), global::Nova.Client.table_Trap.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TrapAttribute), global::Nova.Client.TrapAttribute.Parser, new[]{ "Id", "Trigger", "TriggerIDs", "Filter" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TrapAttribute), global::Nova.Client.table_TrapAttribute.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelBoss), global::Nova.Client.TravelerDuelBoss.Parser, new[]{ "Id", "Name", "TravelerDuelBossType", "Episode", "Image", "Cover", "ShowReward" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelBoss), global::Nova.Client.table_TravelerDuelBoss.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelBossLevel), global::Nova.Client.TravelerDuelBossLevel.Parser, new[]{ "Id", "BossId", "Difficulty", "Name", "Desc", "SuggestedPower", "RecommendBuildRank", "EET", "Timelimit", "PreviewMonsterGroupId", "FloorId", "PreLevelId", "PreLevelStar", "UnlockWorldClass", "UnlockDuelLevel", "DuelExp", "BaseAwardPreview", "Affinity", "Icon", "SkillShow", "Cover", "SkinId", "ExtraDropPreview" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelBossLevel), global::Nova.Client.table_TravelerDuelBossLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelChallengeAffix), global::Nova.Client.TravelerDuelChallengeAffix.Parser, new[]{ "Id", "GroupId", "Difficulty", "UnlockWorldClass", "UnlockDuelLevel", "UnlockDifficulty", "Name", "Desc", "Icon", "Element", "AddCamp", "AddClass", "SkillId", "BranchId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelChallengeAffix), global::Nova.Client.table_TravelerDuelChallengeAffix.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelChallengeDifficulty), global::Nova.Client.TravelerDuelChallengeDifficulty.Parser, new[]{ "Id", "Attr", "EffectId", "RecommendScore", "RecommendBuildRank" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelChallengeDifficulty), global::Nova.Client.table_TravelerDuelChallengeDifficulty.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelChallengeQuest), global::Nova.Client.TravelerDuelChallengeQuest.Parser, new[]{ "Id", "GroupId", "Title", "Desc", "JumpTo", "Order", "AcceptParams2", "CompleteCond", "CompleteCondParams", "AwardItemTid1", "AwardItemNum1", "AwardItemTid2", "AwardItemNum2", "AwardItemTid3", "AwardItemNum3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelChallengeQuest), global::Nova.Client.table_TravelerDuelChallengeQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelChallengeRankReward), global::Nova.Client.TravelerDuelChallengeRankReward.Parser, new[]{ "Id", "RankLower", "AwardItemTid1", "AwardItemNum1", "AwardItemTid2", "AwardItemNum2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelChallengeRankReward), global::Nova.Client.table_TravelerDuelChallengeRankReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelChallengeSeason), global::Nova.Client.TravelerDuelChallengeSeason.Parser, new[]{ "Id", "BossId", "AffixGroupIds", "QuestGroupId", "BackGroundSource", "OpenTime", "EndTime" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelChallengeSeason), global::Nova.Client.table_TravelerDuelChallengeSeason.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelFloor), global::Nova.Client.TravelerDuelFloor.Parser, new[]{ "Id", "SceneName", "ConfigPrefabName", "Theme", "BGM", "LeaveTriggerEvent", "MonsterLv", "IntroCutscene" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelFloor), global::Nova.Client.table_TravelerDuelFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelLevel), global::Nova.Client.TravelerDuelLevel.Parser, new[]{ "Id", "LevelUpExp", "CoinAdditionProb" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelLevel), global::Nova.Client.table_TravelerDuelLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TravelerDuelQuest), global::Nova.Client.TravelerDuelQuest.Parser, new[]{ "Id", "Title", "Desc", "JumpTo", "Order", "AcceptParams2", "CompleteCond", "CompleteCondParams", "AwardItemTid1", "AwardItemNum1", "AwardItemTid2", "AwardItemNum2", "AwardItemTid3", "AwardItemNum3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TravelerDuelQuest), global::Nova.Client.table_TravelerDuelQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TrialBuild), global::Nova.Client.TrialBuild.Parser, new[]{ "Id", "Name", "Score", "Char", "Disc", "Potential", "DiscCommonSkill1", "DiscCommonSkill2", "DiscCommonSkill3", "DiscPassiveSkill1", "DiscPassiveSkill2", "DiscPassiveSkill3", "HarmonySkill", "Note" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TrialBuild), global::Nova.Client.table_TrialBuild.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TrialCharacter), global::Nova.Client.TrialCharacter.Parser, new[]{ "Id", "Name", "CharId", "CharacterSkin", "Break", "Level", "SkillLevel", "Talent" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TrialCharacter), global::Nova.Client.table_TrialCharacter.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.TrialDisc), global::Nova.Client.TrialDisc.Parser, new[]{ "Id", "DiscId", "Phase", "Level", "Star" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_TrialDisc), global::Nova.Client.table_TrialDisc.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.UIText), global::Nova.Client.UIText.Parser, new[]{ "Id", "Text" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_UIText), global::Nova.Client.table_UIText.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireBattleThreshold), global::Nova.Client.VampireBattleThreshold.Parser, new[]{ "MissionId", "Version", "FromSrcAtk", "FromPerkIntensityRatio", "FromSlotDmgRatio", "FromEE", "FromGenDmgRatio", "FromDmgPlus", "FromCritRatio", "FromFinalDmgRatio", "FromFinalDmgPlus", "ToErAmend", "ToDefAmend", "ToRcdSlotDmgRatio", "ToEERCD", "ToGenDmgRcdRatio", "ToDmgPlusRcd", "Dmg", "CritRate", "Hp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireBattleThreshold), global::Nova.Client.table_VampireBattleThreshold.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireEnemyPool), global::Nova.Client.VampireEnemyPool.Parser, new[]{ "PoolId", "WaveNum", "MonsterLevel", "EnemySetID", "WaveKeepTime", "PoolType" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireEnemyPool), global::Nova.Client.table_VampireEnemyPool.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireEnemySet), global::Nova.Client.VampireEnemySet.Parser, new[]{ "SetId", "GroupNum", "MonsterId", "LevelChange", "DelayTime", "MaxNum", "AddData", "MaxNumImproveData", "MonsterSpawnType", "MonsterPoint", "DropExp", "DropChest", "MonsterWarning" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireEnemySet), global::Nova.Client.table_VampireEnemySet.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireEnemySpAttr), global::Nova.Client.VampireEnemySpAttr.Parser, new[]{ "Id", "RefDistance", "RefInterval" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireEnemySpAttr), global::Nova.Client.table_VampireEnemySpAttr.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireFloor), global::Nova.Client.VampireFloor.Parser, new[]{ "Id", "MapId", "WaveCount", "FirstHalfPoolId", "FHAffixId", "FHBossId", "SecondHalfPoolId", "SHAffixId", "SHBossId", "SpecialEnemySetId", "TreasureSetId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireFloor), global::Nova.Client.table_VampireFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireMap), global::Nova.Client.VampireMap.Parser, new[]{ "Id", "SceneName", "ConfigPrefabName", "Theme", "BGM", "LeaveTriggerEvent" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireMap), global::Nova.Client.table_VampireMap.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireRankReward), global::Nova.Client.VampireRankReward.Parser, new[]{ "Id", "RankLower", "AwardItemTid1", "AwardItemNum1", "AwardItemTid2", "AwardItemNum2" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireRankReward), global::Nova.Client.table_VampireRankReward.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireRankSeason), global::Nova.Client.VampireRankSeason.Parser, new[]{ "Id", "MissionId", "OpenTime", "EndTime", "QuestGroup" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireRankSeason), global::Nova.Client.table_VampireRankSeason.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireSurvivor), global::Nova.Client.VampireSurvivor.Parser, new[]{ "Id", "Name", "Desc", "EET", "NotEET", "SuggestedPower", "RecommendBuildRank", "Type", "PreLevelId", "NeedWorldClass", "FirstQuestGroupId", "LevelGroupId", "FloorId", "NormalScore1", "EliteScore1", "BossScore1", "TimeScore1", "TimeLimit1", "NormalScore2", "EliteScore2", "BossScore2", "TimeScore2", "TimeLimit2", "EETScore1", "EETScore2", "FHPreviewMonsterGroupId", "SHPreviewMonsterGroupId", "CoverEpisode", "Episode", "Episode2", "FateCardBundle", "SpeciaFateCard", "SpeciaFateCardParam" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireSurvivor), global::Nova.Client.table_VampireSurvivor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireSurvivorLevel), global::Nova.Client.VampireSurvivorLevel.Parser, new[]{ "GroupID", "Level", "Exp" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireSurvivorLevel), global::Nova.Client.table_VampireSurvivorLevel.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireSurvivorQuest), global::Nova.Client.VampireSurvivorQuest.Parser, new[]{ "Id", "GroupId", "Title", "Desc", "JumpTo", "Order", "Type", "CompleteCond", "CompleteCondParams", "AwardItemTid1", "AwardItemNum1", "AwardItemTid2", "AwardItemNum2", "AwardItemTid3", "AwardItemNum3" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireSurvivorQuest), global::Nova.Client.table_VampireSurvivorQuest.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireTalent), global::Nova.Client.VampireTalent.Parser, new[]{ "Id", "Name", "DescTag", "Param", "Prev", "IsServer", "IsClient", "Effect", "Params", "Point", "Icon", "EffectId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireTalent), global::Nova.Client.table_VampireTalent.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireTalentDesc), global::Nova.Client.VampireTalentDesc.Parser, new[]{ "Id", "Num" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireTalentDesc), global::Nova.Client.table_VampireTalentDesc.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VampireTalentFloor), global::Nova.Client.VampireTalentFloor.Parser, new[]{ "Id", "Num", "TalentId" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VampireTalentFloor), global::Nova.Client.table_VampireTalentFloor.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.VoDirectory), global::Nova.Client.VoDirectory.Parser, new[]{ "Id", "VoResource", "CharacterId", "Votype", "Lines", "Motion" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_VoDirectory), global::Nova.Client.table_VoDirectory.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.WeightParameter), global::Nova.Client.WeightParameter.Parser, new[]{ "Id", "Proportion", "Effect" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_WeightParameter), global::Nova.Client.table_WeightParameter.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.Word), global::Nova.Client.Word.Parser, new[]{ "Id", "Title", "Desc", "Color", "Icon", "Param1", "Param2", "Param3", "Param4", "Param5", "Param6", "Param7", "Param8", "Param9", "Param10" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_Word), global::Nova.Client.table_Word.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.WordSuper), global::Nova.Client.WordSuper.Parser, new[]{ "Id", "Title", "Color", "Icon", "Desc", "Param1", "Param2", "Param3", "Param4", "Param5", "Param6", "Param7", "Param8", "Param9", "Param10" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_WordSuper), global::Nova.Client.table_WordSuper.Parser, new[]{ "List" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.WorldClass), global::Nova.Client.WorldClass.Parser, new[]{ "Rank", "Exp", "Limit", "Added", "DoubleCount", "Reward", "RewardLimit" }, null, null, null, null),
            new pbr::GeneratedClrTypeInfo(typeof(global::Nova.Client.table_WorldClass), global::Nova.Client.table_WorldClass.Parser, new[]{ "List" }, null, null, null, null)
          }));
    }
    #endregion

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.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 Achievement() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Achievement(Achievement other) : this() {
      id_ = other.id_;
      achieveId_ = other.achieveId_;
      title_ = other.title_;
      desc_ = other.desc_;
      rarity_ = other.rarity_;
      type_ = other.type_;
      hide_ = other.hide_;
      jumpTo_ = other.jumpTo_;
      completeCond_ = other.completeCond_;
      completeCondClient_ = other.completeCondClient_;
      aimNumShow_ = other.aimNumShow_;
      prerequisites_ = other.prerequisites_.Clone();
      levelType_ = other.levelType_;
      clientCompleteParams1_ = other.clientCompleteParams1_.Clone();
      clientCompleteParams2_ = other.clientCompleteParams2_.Clone();
      tid1_ = other.tid1_;
      qty1_ = other.qty1_;
      tid2_ = other.tid2_;
      qty2_ = other.qty2_;
      tid3_ = other.tid3_;
      qty3_ = other.qty3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "Prerequisites" field.</summary>
    public const int PrerequisitesFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_prerequisites_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> prerequisites_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Prerequisites {
      get { return prerequisites_; }
    }

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

    /// <summary>Field number for the "ClientCompleteParams1" field.</summary>
    public const int ClientCompleteParams1FieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_clientCompleteParams1_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> clientCompleteParams1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ClientCompleteParams1 {
      get { return clientCompleteParams1_; }
    }

    /// <summary>Field number for the "ClientCompleteParams2" field.</summary>
    public const int ClientCompleteParams2FieldNumber = 15;
    private static readonly pb::FieldCodec<int> _repeated_clientCompleteParams2_codec
        = pb::FieldCodec.ForInt32(122);
    private readonly pbc::RepeatedField<int> clientCompleteParams2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ClientCompleteParams2 {
      get { return clientCompleteParams2_; }
    }

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Achievement other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (AchieveId != other.AchieveId) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (Rarity != other.Rarity) return false;
      if (Type != other.Type) return false;
      if (Hide != other.Hide) return false;
      if (JumpTo != other.JumpTo) return false;
      if (CompleteCond != other.CompleteCond) return false;
      if (CompleteCondClient != other.CompleteCondClient) return false;
      if (AimNumShow != other.AimNumShow) return false;
      if(!prerequisites_.Equals(other.prerequisites_)) return false;
      if (LevelType != other.LevelType) return false;
      if(!clientCompleteParams1_.Equals(other.clientCompleteParams1_)) return false;
      if(!clientCompleteParams2_.Equals(other.clientCompleteParams2_)) return false;
      if (Tid1 != other.Tid1) return false;
      if (Qty1 != other.Qty1) return false;
      if (Tid2 != other.Tid2) return false;
      if (Qty2 != other.Qty2) return false;
      if (Tid3 != other.Tid3) return false;
      if (Qty3 != other.Qty3) 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 (AchieveId != 0) hash ^= AchieveId.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Rarity != 0) hash ^= Rarity.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Hide != false) hash ^= Hide.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (CompleteCond != 0) hash ^= CompleteCond.GetHashCode();
      if (CompleteCondClient != 0) hash ^= CompleteCondClient.GetHashCode();
      if (AimNumShow != 0) hash ^= AimNumShow.GetHashCode();
      hash ^= prerequisites_.GetHashCode();
      if (LevelType != 0) hash ^= LevelType.GetHashCode();
      hash ^= clientCompleteParams1_.GetHashCode();
      hash ^= clientCompleteParams2_.GetHashCode();
      if (Tid1 != 0) hash ^= Tid1.GetHashCode();
      if (Qty1 != 0) hash ^= Qty1.GetHashCode();
      if (Tid2 != 0) hash ^= Tid2.GetHashCode();
      if (Qty2 != 0) hash ^= Qty2.GetHashCode();
      if (Tid3 != 0) hash ^= Tid3.GetHashCode();
      if (Qty3 != 0) hash ^= Qty3.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.WriteInt32(Id);
      }
      if (AchieveId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AchieveId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Rarity != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Rarity);
      }
      if (Type != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Type);
      }
      if (Hide != false) {
        output.WriteRawTag(56);
        output.WriteBool(Hide);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(JumpTo);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondClient != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(CompleteCondClient);
      }
      if (AimNumShow != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AimNumShow);
      }
      prerequisites_.WriteTo(output, _repeated_prerequisites_codec);
      if (LevelType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(LevelType);
      }
      clientCompleteParams1_.WriteTo(output, _repeated_clientCompleteParams1_codec);
      clientCompleteParams2_.WriteTo(output, _repeated_clientCompleteParams2_codec);
      if (Tid1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(Qty3);
      }
      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.WriteInt32(Id);
      }
      if (AchieveId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AchieveId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Rarity != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Rarity);
      }
      if (Type != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Type);
      }
      if (Hide != false) {
        output.WriteRawTag(56);
        output.WriteBool(Hide);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(JumpTo);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondClient != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(CompleteCondClient);
      }
      if (AimNumShow != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AimNumShow);
      }
      prerequisites_.WriteTo(ref output, _repeated_prerequisites_codec);
      if (LevelType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(LevelType);
      }
      clientCompleteParams1_.WriteTo(ref output, _repeated_clientCompleteParams1_codec);
      clientCompleteParams2_.WriteTo(ref output, _repeated_clientCompleteParams2_codec);
      if (Tid1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(Qty3);
      }
      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.ComputeInt32Size(Id);
      }
      if (AchieveId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AchieveId);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Rarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rarity);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Hide != false) {
        size += 1 + 1;
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (CompleteCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCond);
      }
      if (CompleteCondClient != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCondClient);
      }
      if (AimNumShow != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AimNumShow);
      }
      size += prerequisites_.CalculateSize(_repeated_prerequisites_codec);
      if (LevelType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelType);
      }
      size += clientCompleteParams1_.CalculateSize(_repeated_clientCompleteParams1_codec);
      size += clientCompleteParams2_.CalculateSize(_repeated_clientCompleteParams2_codec);
      if (Tid1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Tid1);
      }
      if (Qty1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Qty1);
      }
      if (Tid2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Tid2);
      }
      if (Qty2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Qty2);
      }
      if (Tid3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Tid3);
      }
      if (Qty3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Qty3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Achievement other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.AchieveId != 0) {
        AchieveId = other.AchieveId;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Rarity != 0) {
        Rarity = other.Rarity;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Hide != false) {
        Hide = other.Hide;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.CompleteCond != 0) {
        CompleteCond = other.CompleteCond;
      }
      if (other.CompleteCondClient != 0) {
        CompleteCondClient = other.CompleteCondClient;
      }
      if (other.AimNumShow != 0) {
        AimNumShow = other.AimNumShow;
      }
      prerequisites_.Add(other.prerequisites_);
      if (other.LevelType != 0) {
        LevelType = other.LevelType;
      }
      clientCompleteParams1_.Add(other.clientCompleteParams1_);
      clientCompleteParams2_.Add(other.clientCompleteParams2_);
      if (other.Tid1 != 0) {
        Tid1 = other.Tid1;
      }
      if (other.Qty1 != 0) {
        Qty1 = other.Qty1;
      }
      if (other.Tid2 != 0) {
        Tid2 = other.Tid2;
      }
      if (other.Qty2 != 0) {
        Qty2 = other.Qty2;
      }
      if (other.Tid3 != 0) {
        Tid3 = other.Tid3;
      }
      if (other.Qty3 != 0) {
        Qty3 = other.Qty3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            AchieveId = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Rarity = input.ReadInt32();
            break;
          }
          case 48: {
            Type = input.ReadInt32();
            break;
          }
          case 56: {
            Hide = input.ReadBool();
            break;
          }
          case 64: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 72: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 80: {
            CompleteCondClient = input.ReadInt32();
            break;
          }
          case 88: {
            AimNumShow = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            prerequisites_.AddEntriesFrom(input, _repeated_prerequisites_codec);
            break;
          }
          case 104: {
            LevelType = input.ReadInt32();
            break;
          }
          case 114:
          case 112: {
            clientCompleteParams1_.AddEntriesFrom(input, _repeated_clientCompleteParams1_codec);
            break;
          }
          case 122:
          case 120: {
            clientCompleteParams2_.AddEntriesFrom(input, _repeated_clientCompleteParams2_codec);
            break;
          }
          case 128: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 136: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 144: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 152: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 160: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 168: {
            Qty3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            AchieveId = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Rarity = input.ReadInt32();
            break;
          }
          case 48: {
            Type = input.ReadInt32();
            break;
          }
          case 56: {
            Hide = input.ReadBool();
            break;
          }
          case 64: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 72: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 80: {
            CompleteCondClient = input.ReadInt32();
            break;
          }
          case 88: {
            AimNumShow = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            prerequisites_.AddEntriesFrom(ref input, _repeated_prerequisites_codec);
            break;
          }
          case 104: {
            LevelType = input.ReadInt32();
            break;
          }
          case 114:
          case 112: {
            clientCompleteParams1_.AddEntriesFrom(ref input, _repeated_clientCompleteParams1_codec);
            break;
          }
          case 122:
          case 120: {
            clientCompleteParams2_.AddEntriesFrom(ref input, _repeated_clientCompleteParams2_codec);
            break;
          }
          case 128: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 136: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 144: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 152: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 160: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 168: {
            Qty3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.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 table_Achievement() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Achievement> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Achievement.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Achievement> list_ = new pbc::RepeatedField<global::Nova.Client.Achievement>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Achievement> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Achievement other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Achievement other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.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 Activity() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Activity(Activity other) : this() {
      id_ = other.id_;
      sortId_ = other.sortId_;
      activityType_ = other.activityType_;
      name_ = other.name_;
      preLimit_ = other.preLimit_;
      limitParam_ = other.limitParam_;
      startType_ = other.startType_;
      startTime_ = other.startTime_;
      startCondType_ = other.startCondType_;
      startCondParams_ = other.startCondParams_.Clone();
      endType_ = other.endType_;
      endTime_ = other.endTime_;
      endDuration_ = other.endDuration_;
      bannerRes_ = other.bannerRes_;
      popUpRes_ = other.popUpRes_;
      tabBgRes_ = other.tabBgRes_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "StartCondParams" field.</summary>
    public const int StartCondParamsFieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_startCondParams_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> startCondParams_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> StartCondParams {
      get { return startCondParams_; }
    }

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

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

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

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

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

    /// <summary>Field number for the "TabBgRes" field.</summary>
    public const int TabBgResFieldNumber = 16;
    private string tabBgRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TabBgRes {
      get { return tabBgRes_; }
      set {
        tabBgRes_ = 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 Activity);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Activity other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SortId != other.SortId) return false;
      if (ActivityType != other.ActivityType) return false;
      if (Name != other.Name) return false;
      if (PreLimit != other.PreLimit) return false;
      if (LimitParam != other.LimitParam) return false;
      if (StartType != other.StartType) return false;
      if (StartTime != other.StartTime) return false;
      if (StartCondType != other.StartCondType) return false;
      if(!startCondParams_.Equals(other.startCondParams_)) return false;
      if (EndType != other.EndType) return false;
      if (EndTime != other.EndTime) return false;
      if (EndDuration != other.EndDuration) return false;
      if (BannerRes != other.BannerRes) return false;
      if (PopUpRes != other.PopUpRes) return false;
      if (TabBgRes != other.TabBgRes) 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 (SortId != 0) hash ^= SortId.GetHashCode();
      if (ActivityType != 0) hash ^= ActivityType.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (PreLimit != 0) hash ^= PreLimit.GetHashCode();
      if (LimitParam.Length != 0) hash ^= LimitParam.GetHashCode();
      if (StartType != 0) hash ^= StartType.GetHashCode();
      if (StartTime.Length != 0) hash ^= StartTime.GetHashCode();
      if (StartCondType != 0) hash ^= StartCondType.GetHashCode();
      hash ^= startCondParams_.GetHashCode();
      if (EndType != 0) hash ^= EndType.GetHashCode();
      if (EndTime.Length != 0) hash ^= EndTime.GetHashCode();
      if (EndDuration != 0) hash ^= EndDuration.GetHashCode();
      if (BannerRes.Length != 0) hash ^= BannerRes.GetHashCode();
      if (PopUpRes.Length != 0) hash ^= PopUpRes.GetHashCode();
      if (TabBgRes.Length != 0) hash ^= TabBgRes.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.WriteInt32(Id);
      }
      if (SortId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SortId);
      }
      if (ActivityType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ActivityType);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (PreLimit != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PreLimit);
      }
      if (LimitParam.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LimitParam);
      }
      if (StartType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(StartType);
      }
      if (StartTime.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(StartTime);
      }
      if (StartCondType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(StartCondType);
      }
      startCondParams_.WriteTo(output, _repeated_startCondParams_codec);
      if (EndType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(EndType);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(EndTime);
      }
      if (EndDuration != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(EndDuration);
      }
      if (BannerRes.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(BannerRes);
      }
      if (PopUpRes.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(PopUpRes);
      }
      if (TabBgRes.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(TabBgRes);
      }
      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.WriteInt32(Id);
      }
      if (SortId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(SortId);
      }
      if (ActivityType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ActivityType);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (PreLimit != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PreLimit);
      }
      if (LimitParam.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LimitParam);
      }
      if (StartType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(StartType);
      }
      if (StartTime.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(StartTime);
      }
      if (StartCondType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(StartCondType);
      }
      startCondParams_.WriteTo(ref output, _repeated_startCondParams_codec);
      if (EndType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(EndType);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(EndTime);
      }
      if (EndDuration != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(EndDuration);
      }
      if (BannerRes.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(BannerRes);
      }
      if (PopUpRes.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(PopUpRes);
      }
      if (TabBgRes.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(TabBgRes);
      }
      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.ComputeInt32Size(Id);
      }
      if (SortId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SortId);
      }
      if (ActivityType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ActivityType);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (PreLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLimit);
      }
      if (LimitParam.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LimitParam);
      }
      if (StartType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StartType);
      }
      if (StartTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StartTime);
      }
      if (StartCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StartCondType);
      }
      size += startCondParams_.CalculateSize(_repeated_startCondParams_codec);
      if (EndType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EndType);
      }
      if (EndTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndTime);
      }
      if (EndDuration != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EndDuration);
      }
      if (BannerRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BannerRes);
      }
      if (PopUpRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PopUpRes);
      }
      if (TabBgRes.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TabBgRes);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Activity other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SortId != 0) {
        SortId = other.SortId;
      }
      if (other.ActivityType != 0) {
        ActivityType = other.ActivityType;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.PreLimit != 0) {
        PreLimit = other.PreLimit;
      }
      if (other.LimitParam.Length != 0) {
        LimitParam = other.LimitParam;
      }
      if (other.StartType != 0) {
        StartType = other.StartType;
      }
      if (other.StartTime.Length != 0) {
        StartTime = other.StartTime;
      }
      if (other.StartCondType != 0) {
        StartCondType = other.StartCondType;
      }
      startCondParams_.Add(other.startCondParams_);
      if (other.EndType != 0) {
        EndType = other.EndType;
      }
      if (other.EndTime.Length != 0) {
        EndTime = other.EndTime;
      }
      if (other.EndDuration != 0) {
        EndDuration = other.EndDuration;
      }
      if (other.BannerRes.Length != 0) {
        BannerRes = other.BannerRes;
      }
      if (other.PopUpRes.Length != 0) {
        PopUpRes = other.PopUpRes;
      }
      if (other.TabBgRes.Length != 0) {
        TabBgRes = other.TabBgRes;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            SortId = input.ReadInt32();
            break;
          }
          case 24: {
            ActivityType = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            PreLimit = input.ReadInt32();
            break;
          }
          case 50: {
            LimitParam = input.ReadString();
            break;
          }
          case 56: {
            StartType = input.ReadInt32();
            break;
          }
          case 66: {
            StartTime = input.ReadString();
            break;
          }
          case 72: {
            StartCondType = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            startCondParams_.AddEntriesFrom(input, _repeated_startCondParams_codec);
            break;
          }
          case 88: {
            EndType = input.ReadInt32();
            break;
          }
          case 98: {
            EndTime = input.ReadString();
            break;
          }
          case 104: {
            EndDuration = input.ReadInt32();
            break;
          }
          case 114: {
            BannerRes = input.ReadString();
            break;
          }
          case 122: {
            PopUpRes = input.ReadString();
            break;
          }
          case 130: {
            TabBgRes = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            SortId = input.ReadInt32();
            break;
          }
          case 24: {
            ActivityType = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            PreLimit = input.ReadInt32();
            break;
          }
          case 50: {
            LimitParam = input.ReadString();
            break;
          }
          case 56: {
            StartType = input.ReadInt32();
            break;
          }
          case 66: {
            StartTime = input.ReadString();
            break;
          }
          case 72: {
            StartCondType = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            startCondParams_.AddEntriesFrom(ref input, _repeated_startCondParams_codec);
            break;
          }
          case 88: {
            EndType = input.ReadInt32();
            break;
          }
          case 98: {
            EndTime = input.ReadString();
            break;
          }
          case 104: {
            EndDuration = input.ReadInt32();
            break;
          }
          case 114: {
            BannerRes = input.ReadString();
            break;
          }
          case 122: {
            PopUpRes = input.ReadString();
            break;
          }
          case 130: {
            TabBgRes = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.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 table_Activity() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Activity> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Activity.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Activity> list_ = new pbc::RepeatedField<global::Nova.Client.Activity>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Activity> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Activity other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Activity other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.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 AddBuffAction() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AddBuffAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (TargetType != other.TargetType) return false;
      if (BuffId != other.BuffId) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (TargetType != 0) hash ^= TargetType.GetHashCode();
      if (BuffId != 0) hash ^= BuffId.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (TargetType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TargetType);
      }
      if (BuffId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BuffId);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (TargetType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TargetType);
      }
      if (BuffId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BuffId);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (TargetType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TargetType);
      }
      if (BuffId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AddBuffAction other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.TargetType != 0) {
        TargetType = other.TargetType;
      }
      if (other.BuffId != 0) {
        BuffId = other.BuffId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            TargetType = input.ReadInt32();
            break;
          }
          case 32: {
            BuffId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

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

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.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 table_AddBuffAction() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AddBuffAction> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AddBuffAction.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AddBuffAction> list_ = new pbc::RepeatedField<global::Nova.Client.AddBuffAction>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AddBuffAction> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AddBuffAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AddBuffAction other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.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 AffinityGift() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    /// <summary>Field number for the "Tags" field.</summary>
    public const int TagsFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_tags_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> tags_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Tags {
      get { return tags_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AffinityGift other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (BaseAffinity != other.BaseAffinity) return false;
      if(!tags_.Equals(other.tags_)) 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 (BaseAffinity != 0) hash ^= BaseAffinity.GetHashCode();
      hash ^= tags_.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.WriteInt32(Id);
      }
      if (BaseAffinity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BaseAffinity);
      }
      tags_.WriteTo(output, _repeated_tags_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (BaseAffinity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BaseAffinity);
      }
      tags_.WriteTo(ref output, _repeated_tags_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (BaseAffinity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BaseAffinity);
      }
      size += tags_.CalculateSize(_repeated_tags_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AffinityGift other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.BaseAffinity != 0) {
        BaseAffinity = other.BaseAffinity;
      }
      tags_.Add(other.tags_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            BaseAffinity = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            tags_.AddEntriesFrom(input, _repeated_tags_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

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

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

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AffinityGift> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AffinityGift.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AffinityGift> list_ = new pbc::RepeatedField<global::Nova.Client.AffinityGift>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AffinityGift> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AffinityGift other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AffinityGift other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AffinityLevel(AffinityLevel other) : this() {
      id_ = other.id_;
      affinityLevel_ = other.affinityLevel_;
      needExp_ = other.needExp_;
      templateId_ = other.templateId_;
      affinityLevelName_ = other.affinityLevelName_;
      affinityLevelIcon_ = other.affinityLevelIcon_;
      affinityLevelRewardIcon_ = other.affinityLevelRewardIcon_;
      affinityLevelRewardLockIcon_ = other.affinityLevelRewardLockIcon_;
      effect_ = other.effect_.Clone();
      affinityLevelStage_ = other.affinityLevelStage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "Effect" field.</summary>
    public const int EffectFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_effect_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> effect_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Effect {
      get { return effect_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AffinityLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (AffinityLevel_ != other.AffinityLevel_) return false;
      if (NeedExp != other.NeedExp) return false;
      if (TemplateId != other.TemplateId) return false;
      if (AffinityLevelName != other.AffinityLevelName) return false;
      if (AffinityLevelIcon != other.AffinityLevelIcon) return false;
      if (AffinityLevelRewardIcon != other.AffinityLevelRewardIcon) return false;
      if (AffinityLevelRewardLockIcon != other.AffinityLevelRewardLockIcon) return false;
      if(!effect_.Equals(other.effect_)) return false;
      if (AffinityLevelStage != other.AffinityLevelStage) 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 (AffinityLevel_ != 0) hash ^= AffinityLevel_.GetHashCode();
      if (NeedExp != 0) hash ^= NeedExp.GetHashCode();
      if (TemplateId != 0) hash ^= TemplateId.GetHashCode();
      if (AffinityLevelName.Length != 0) hash ^= AffinityLevelName.GetHashCode();
      if (AffinityLevelIcon.Length != 0) hash ^= AffinityLevelIcon.GetHashCode();
      if (AffinityLevelRewardIcon.Length != 0) hash ^= AffinityLevelRewardIcon.GetHashCode();
      if (AffinityLevelRewardLockIcon.Length != 0) hash ^= AffinityLevelRewardLockIcon.GetHashCode();
      hash ^= effect_.GetHashCode();
      if (AffinityLevelStage != 0) hash ^= AffinityLevelStage.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.WriteInt32(Id);
      }
      if (AffinityLevel_ != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AffinityLevel_);
      }
      if (NeedExp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(NeedExp);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TemplateId);
      }
      if (AffinityLevelName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AffinityLevelName);
      }
      if (AffinityLevelIcon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AffinityLevelIcon);
      }
      if (AffinityLevelRewardIcon.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(AffinityLevelRewardIcon);
      }
      if (AffinityLevelRewardLockIcon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(AffinityLevelRewardLockIcon);
      }
      effect_.WriteTo(output, _repeated_effect_codec);
      if (AffinityLevelStage != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AffinityLevelStage);
      }
      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.WriteInt32(Id);
      }
      if (AffinityLevel_ != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AffinityLevel_);
      }
      if (NeedExp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(NeedExp);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TemplateId);
      }
      if (AffinityLevelName.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AffinityLevelName);
      }
      if (AffinityLevelIcon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AffinityLevelIcon);
      }
      if (AffinityLevelRewardIcon.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(AffinityLevelRewardIcon);
      }
      if (AffinityLevelRewardLockIcon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(AffinityLevelRewardLockIcon);
      }
      effect_.WriteTo(ref output, _repeated_effect_codec);
      if (AffinityLevelStage != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AffinityLevelStage);
      }
      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.ComputeInt32Size(Id);
      }
      if (AffinityLevel_ != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AffinityLevel_);
      }
      if (NeedExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedExp);
      }
      if (TemplateId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TemplateId);
      }
      if (AffinityLevelName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AffinityLevelName);
      }
      if (AffinityLevelIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AffinityLevelIcon);
      }
      if (AffinityLevelRewardIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AffinityLevelRewardIcon);
      }
      if (AffinityLevelRewardLockIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AffinityLevelRewardLockIcon);
      }
      size += effect_.CalculateSize(_repeated_effect_codec);
      if (AffinityLevelStage != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AffinityLevelStage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AffinityLevel other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.AffinityLevel_ != 0) {
        AffinityLevel_ = other.AffinityLevel_;
      }
      if (other.NeedExp != 0) {
        NeedExp = other.NeedExp;
      }
      if (other.TemplateId != 0) {
        TemplateId = other.TemplateId;
      }
      if (other.AffinityLevelName.Length != 0) {
        AffinityLevelName = other.AffinityLevelName;
      }
      if (other.AffinityLevelIcon.Length != 0) {
        AffinityLevelIcon = other.AffinityLevelIcon;
      }
      if (other.AffinityLevelRewardIcon.Length != 0) {
        AffinityLevelRewardIcon = other.AffinityLevelRewardIcon;
      }
      if (other.AffinityLevelRewardLockIcon.Length != 0) {
        AffinityLevelRewardLockIcon = other.AffinityLevelRewardLockIcon;
      }
      effect_.Add(other.effect_);
      if (other.AffinityLevelStage != 0) {
        AffinityLevelStage = other.AffinityLevelStage;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            AffinityLevel_ = input.ReadInt32();
            break;
          }
          case 24: {
            NeedExp = input.ReadInt32();
            break;
          }
          case 32: {
            TemplateId = input.ReadInt32();
            break;
          }
          case 42: {
            AffinityLevelName = input.ReadString();
            break;
          }
          case 50: {
            AffinityLevelIcon = input.ReadString();
            break;
          }
          case 58: {
            AffinityLevelRewardIcon = input.ReadString();
            break;
          }
          case 66: {
            AffinityLevelRewardLockIcon = input.ReadString();
            break;
          }
          case 74:
          case 72: {
            effect_.AddEntriesFrom(input, _repeated_effect_codec);
            break;
          }
          case 80: {
            AffinityLevelStage = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            AffinityLevel_ = input.ReadInt32();
            break;
          }
          case 24: {
            NeedExp = input.ReadInt32();
            break;
          }
          case 32: {
            TemplateId = input.ReadInt32();
            break;
          }
          case 42: {
            AffinityLevelName = input.ReadString();
            break;
          }
          case 50: {
            AffinityLevelIcon = input.ReadString();
            break;
          }
          case 58: {
            AffinityLevelRewardIcon = input.ReadString();
            break;
          }
          case 66: {
            AffinityLevelRewardLockIcon = input.ReadString();
            break;
          }
          case 74:
          case 72: {
            effect_.AddEntriesFrom(ref input, _repeated_effect_codec);
            break;
          }
          case 80: {
            AffinityLevelStage = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

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

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

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AffinityLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AffinityLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AffinityLevel> list_ = new pbc::RepeatedField<global::Nova.Client.AffinityLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AffinityLevel> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AffinityLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AffinityLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AffinityQuest(AffinityQuest other) : this() {
      id_ = other.id_;
      desc_ = other.desc_;
      sortId_ = other.sortId_;
      charId_ = other.charId_;
      completeCond_ = other.completeCond_;
      completeCondParams_ = other.completeCondParams_;
      reward_ = other.reward_.Clone();
      affinityExp_ = other.affinityExp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

    /// <summary>Field number for the "Reward" field.</summary>
    public const int RewardFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_reward_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> reward_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Reward {
      get { return reward_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AffinityQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Desc != other.Desc) return false;
      if (SortId != other.SortId) return false;
      if (CharId != other.CharId) return false;
      if (CompleteCond != other.CompleteCond) return false;
      if (CompleteCondParams != other.CompleteCondParams) return false;
      if(!reward_.Equals(other.reward_)) return false;
      if (AffinityExp != other.AffinityExp) 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 (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (SortId != 0) hash ^= SortId.GetHashCode();
      if (CharId != 0) hash ^= CharId.GetHashCode();
      if (CompleteCond != 0) hash ^= CompleteCond.GetHashCode();
      if (CompleteCondParams.Length != 0) hash ^= CompleteCondParams.GetHashCode();
      hash ^= reward_.GetHashCode();
      if (AffinityExp != 0) hash ^= AffinityExp.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.WriteInt32(Id);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Desc);
      }
      if (SortId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SortId);
      }
      if (CharId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CharId);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(CompleteCondParams);
      }
      reward_.WriteTo(output, _repeated_reward_codec);
      if (AffinityExp != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AffinityExp);
      }
      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.WriteInt32(Id);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Desc);
      }
      if (SortId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SortId);
      }
      if (CharId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CharId);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(CompleteCondParams);
      }
      reward_.WriteTo(ref output, _repeated_reward_codec);
      if (AffinityExp != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AffinityExp);
      }
      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.ComputeInt32Size(Id);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (SortId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SortId);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (CompleteCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CompleteCondParams);
      }
      size += reward_.CalculateSize(_repeated_reward_codec);
      if (AffinityExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AffinityExp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AffinityQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.SortId != 0) {
        SortId = other.SortId;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.CompleteCond != 0) {
        CompleteCond = other.CompleteCond;
      }
      if (other.CompleteCondParams.Length != 0) {
        CompleteCondParams = other.CompleteCondParams;
      }
      reward_.Add(other.reward_);
      if (other.AffinityExp != 0) {
        AffinityExp = other.AffinityExp;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Desc = input.ReadString();
            break;
          }
          case 24: {
            SortId = input.ReadInt32();
            break;
          }
          case 32: {
            CharId = input.ReadInt32();
            break;
          }
          case 40: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 50: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            reward_.AddEntriesFrom(input, _repeated_reward_codec);
            break;
          }
          case 64: {
            AffinityExp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Desc = input.ReadString();
            break;
          }
          case 24: {
            SortId = input.ReadInt32();
            break;
          }
          case 32: {
            CharId = input.ReadInt32();
            break;
          }
          case 40: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 50: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            reward_.AddEntriesFrom(ref input, _repeated_reward_codec);
            break;
          }
          case 64: {
            AffinityExp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

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

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

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AffinityQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AffinityQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AffinityQuest> list_ = new pbc::RepeatedField<global::Nova.Client.AffinityQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AffinityQuest> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AffinityQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AffinityQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AffinityUpReward(AffinityUpReward other) : this() {
      id_ = other.id_;
      charId_ = other.charId_;
      rewardLevel_ = other.rewardLevel_;
      reward1_ = other.reward1_.Clone();
      reward2_ = other.reward2_.Clone();
      reward3_ = other.reward3_.Clone();
      descFront1_ = other.descFront1_;
      descFront2_ = other.descFront2_;
      descFront3_ = other.descFront3_;
      descAfter1_ = other.descAfter1_;
      descAfter2_ = other.descAfter2_;
      descAfter3_ = other.descAfter3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

    /// <summary>Field number for the "Reward1" field.</summary>
    public const int Reward1FieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_reward1_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> reward1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Reward1 {
      get { return reward1_; }
    }

    /// <summary>Field number for the "Reward2" field.</summary>
    public const int Reward2FieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_reward2_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> reward2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Reward2 {
      get { return reward2_; }
    }

    /// <summary>Field number for the "Reward3" field.</summary>
    public const int Reward3FieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_reward3_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> reward3_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Reward3 {
      get { return reward3_; }
    }

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

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

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

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

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

    /// <summary>Field number for the "DescAfter3" field.</summary>
    public const int DescAfter3FieldNumber = 12;
    private string descAfter3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DescAfter3 {
      get { return descAfter3_; }
      set {
        descAfter3_ = 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 AffinityUpReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AffinityUpReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharId != other.CharId) return false;
      if (RewardLevel != other.RewardLevel) return false;
      if(!reward1_.Equals(other.reward1_)) return false;
      if(!reward2_.Equals(other.reward2_)) return false;
      if(!reward3_.Equals(other.reward3_)) return false;
      if (DescFront1 != other.DescFront1) return false;
      if (DescFront2 != other.DescFront2) return false;
      if (DescFront3 != other.DescFront3) return false;
      if (DescAfter1 != other.DescAfter1) return false;
      if (DescAfter2 != other.DescAfter2) return false;
      if (DescAfter3 != other.DescAfter3) 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 (CharId != 0) hash ^= CharId.GetHashCode();
      if (RewardLevel != 0) hash ^= RewardLevel.GetHashCode();
      hash ^= reward1_.GetHashCode();
      hash ^= reward2_.GetHashCode();
      hash ^= reward3_.GetHashCode();
      if (DescFront1.Length != 0) hash ^= DescFront1.GetHashCode();
      if (DescFront2.Length != 0) hash ^= DescFront2.GetHashCode();
      if (DescFront3.Length != 0) hash ^= DescFront3.GetHashCode();
      if (DescAfter1.Length != 0) hash ^= DescAfter1.GetHashCode();
      if (DescAfter2.Length != 0) hash ^= DescAfter2.GetHashCode();
      if (DescAfter3.Length != 0) hash ^= DescAfter3.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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (RewardLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RewardLevel);
      }
      reward1_.WriteTo(output, _repeated_reward1_codec);
      reward2_.WriteTo(output, _repeated_reward2_codec);
      reward3_.WriteTo(output, _repeated_reward3_codec);
      if (DescFront1.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(DescFront1);
      }
      if (DescFront2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DescFront2);
      }
      if (DescFront3.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(DescFront3);
      }
      if (DescAfter1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(DescAfter1);
      }
      if (DescAfter2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DescAfter2);
      }
      if (DescAfter3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(DescAfter3);
      }
      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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (RewardLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RewardLevel);
      }
      reward1_.WriteTo(ref output, _repeated_reward1_codec);
      reward2_.WriteTo(ref output, _repeated_reward2_codec);
      reward3_.WriteTo(ref output, _repeated_reward3_codec);
      if (DescFront1.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(DescFront1);
      }
      if (DescFront2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DescFront2);
      }
      if (DescFront3.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(DescFront3);
      }
      if (DescAfter1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(DescAfter1);
      }
      if (DescAfter2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DescAfter2);
      }
      if (DescAfter3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(DescAfter3);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (RewardLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardLevel);
      }
      size += reward1_.CalculateSize(_repeated_reward1_codec);
      size += reward2_.CalculateSize(_repeated_reward2_codec);
      size += reward3_.CalculateSize(_repeated_reward3_codec);
      if (DescFront1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DescFront1);
      }
      if (DescFront2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DescFront2);
      }
      if (DescFront3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DescFront3);
      }
      if (DescAfter1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DescAfter1);
      }
      if (DescAfter2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DescAfter2);
      }
      if (DescAfter3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DescAfter3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AffinityUpReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.RewardLevel != 0) {
        RewardLevel = other.RewardLevel;
      }
      reward1_.Add(other.reward1_);
      reward2_.Add(other.reward2_);
      reward3_.Add(other.reward3_);
      if (other.DescFront1.Length != 0) {
        DescFront1 = other.DescFront1;
      }
      if (other.DescFront2.Length != 0) {
        DescFront2 = other.DescFront2;
      }
      if (other.DescFront3.Length != 0) {
        DescFront3 = other.DescFront3;
      }
      if (other.DescAfter1.Length != 0) {
        DescAfter1 = other.DescAfter1;
      }
      if (other.DescAfter2.Length != 0) {
        DescAfter2 = other.DescAfter2;
      }
      if (other.DescAfter3.Length != 0) {
        DescAfter3 = other.DescAfter3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            RewardLevel = input.ReadInt32();
            break;
          }
          case 34:
          case 32: {
            reward1_.AddEntriesFrom(input, _repeated_reward1_codec);
            break;
          }
          case 42:
          case 40: {
            reward2_.AddEntriesFrom(input, _repeated_reward2_codec);
            break;
          }
          case 50:
          case 48: {
            reward3_.AddEntriesFrom(input, _repeated_reward3_codec);
            break;
          }
          case 58: {
            DescFront1 = input.ReadString();
            break;
          }
          case 66: {
            DescFront2 = input.ReadString();
            break;
          }
          case 74: {
            DescFront3 = input.ReadString();
            break;
          }
          case 82: {
            DescAfter1 = input.ReadString();
            break;
          }
          case 90: {
            DescAfter2 = input.ReadString();
            break;
          }
          case 98: {
            DescAfter3 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            RewardLevel = input.ReadInt32();
            break;
          }
          case 34:
          case 32: {
            reward1_.AddEntriesFrom(ref input, _repeated_reward1_codec);
            break;
          }
          case 42:
          case 40: {
            reward2_.AddEntriesFrom(ref input, _repeated_reward2_codec);
            break;
          }
          case 50:
          case 48: {
            reward3_.AddEntriesFrom(ref input, _repeated_reward3_codec);
            break;
          }
          case 58: {
            DescFront1 = input.ReadString();
            break;
          }
          case 66: {
            DescFront2 = input.ReadString();
            break;
          }
          case 74: {
            DescFront3 = input.ReadString();
            break;
          }
          case 82: {
            DescAfter1 = input.ReadString();
            break;
          }
          case 90: {
            DescAfter2 = input.ReadString();
            break;
          }
          case 98: {
            DescAfter3 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

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

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

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AffinityUpReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AffinityUpReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AffinityUpReward> list_ = new pbc::RepeatedField<global::Nova.Client.AffinityUpReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AffinityUpReward> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AffinityUpReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AffinityUpReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

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

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

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Agent(Agent other) : this() {
      id_ = other.id_;
      tab_ = other.tab_;
      note_ = other.note_;
      name_ = other.name_;
      desc_ = other.desc_;
      consignor_ = other.consignor_;
      refreshType_ = other.refreshType_;
      memberType_ = other.memberType_;
      level_ = other.level_;
      buildScore_ = other.buildScore_;
      memberLimit_ = other.memberLimit_;
      tags_ = other.tags_.Clone();
      extraTags_ = other.extraTags_.Clone();
      unlockConditions_ = other.unlockConditions_;
      sort_ = other.sort_;
      time1_ = other.time1_;
      rewardPreview1_ = other.rewardPreview1_;
      bonusPreview1_ = other.bonusPreview1_;
      time2_ = other.time2_;
      rewardPreview2_ = other.rewardPreview2_;
      bonusPreview2_ = other.bonusPreview2_;
      time3_ = other.time3_;
      rewardPreview3_ = other.rewardPreview3_;
      bonusPreview3_ = other.bonusPreview3_;
      time4_ = other.time4_;
      rewardPreview4_ = other.rewardPreview4_;
      bonusPreview4_ = other.bonusPreview4_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "Tags" field.</summary>
    public const int TagsFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_tags_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> tags_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Tags {
      get { return tags_; }
    }

    /// <summary>Field number for the "ExtraTags" field.</summary>
    public const int ExtraTagsFieldNumber = 13;
    private static readonly pb::FieldCodec<int> _repeated_extraTags_codec
        = pb::FieldCodec.ForInt32(106);
    private readonly pbc::RepeatedField<int> extraTags_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ExtraTags {
      get { return extraTags_; }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "BonusPreview4" field.</summary>
    public const int BonusPreview4FieldNumber = 27;
    private string bonusPreview4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BonusPreview4 {
      get { return bonusPreview4_; }
      set {
        bonusPreview4_ = 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 Agent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Agent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Tab != other.Tab) return false;
      if (Note != other.Note) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Consignor != other.Consignor) return false;
      if (RefreshType != other.RefreshType) return false;
      if (MemberType != other.MemberType) return false;
      if (Level != other.Level) return false;
      if (BuildScore != other.BuildScore) return false;
      if (MemberLimit != other.MemberLimit) return false;
      if(!tags_.Equals(other.tags_)) return false;
      if(!extraTags_.Equals(other.extraTags_)) return false;
      if (UnlockConditions != other.UnlockConditions) return false;
      if (Sort != other.Sort) return false;
      if (Time1 != other.Time1) return false;
      if (RewardPreview1 != other.RewardPreview1) return false;
      if (BonusPreview1 != other.BonusPreview1) return false;
      if (Time2 != other.Time2) return false;
      if (RewardPreview2 != other.RewardPreview2) return false;
      if (BonusPreview2 != other.BonusPreview2) return false;
      if (Time3 != other.Time3) return false;
      if (RewardPreview3 != other.RewardPreview3) return false;
      if (BonusPreview3 != other.BonusPreview3) return false;
      if (Time4 != other.Time4) return false;
      if (RewardPreview4 != other.RewardPreview4) return false;
      if (BonusPreview4 != other.BonusPreview4) 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 (Tab != 0) hash ^= Tab.GetHashCode();
      if (Note.Length != 0) hash ^= Note.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Consignor.Length != 0) hash ^= Consignor.GetHashCode();
      if (RefreshType != 0) hash ^= RefreshType.GetHashCode();
      if (MemberType != 0) hash ^= MemberType.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (BuildScore != 0) hash ^= BuildScore.GetHashCode();
      if (MemberLimit != 0) hash ^= MemberLimit.GetHashCode();
      hash ^= tags_.GetHashCode();
      hash ^= extraTags_.GetHashCode();
      if (UnlockConditions.Length != 0) hash ^= UnlockConditions.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (Time1 != 0) hash ^= Time1.GetHashCode();
      if (RewardPreview1.Length != 0) hash ^= RewardPreview1.GetHashCode();
      if (BonusPreview1.Length != 0) hash ^= BonusPreview1.GetHashCode();
      if (Time2 != 0) hash ^= Time2.GetHashCode();
      if (RewardPreview2.Length != 0) hash ^= RewardPreview2.GetHashCode();
      if (BonusPreview2.Length != 0) hash ^= BonusPreview2.GetHashCode();
      if (Time3 != 0) hash ^= Time3.GetHashCode();
      if (RewardPreview3.Length != 0) hash ^= RewardPreview3.GetHashCode();
      if (BonusPreview3.Length != 0) hash ^= BonusPreview3.GetHashCode();
      if (Time4 != 0) hash ^= Time4.GetHashCode();
      if (RewardPreview4.Length != 0) hash ^= RewardPreview4.GetHashCode();
      if (BonusPreview4.Length != 0) hash ^= BonusPreview4.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.WriteInt32(Id);
      }
      if (Tab != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Tab);
      }
      if (Note.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Note);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Consignor.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Consignor);
      }
      if (RefreshType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RefreshType);
      }
      if (MemberType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MemberType);
      }
      if (Level != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Level);
      }
      if (BuildScore != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BuildScore);
      }
      if (MemberLimit != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(MemberLimit);
      }
      tags_.WriteTo(output, _repeated_tags_codec);
      extraTags_.WriteTo(output, _repeated_extraTags_codec);
      if (UnlockConditions.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(UnlockConditions);
      }
      if (Sort != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Sort);
      }
      if (Time1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(Time1);
      }
      if (RewardPreview1.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(RewardPreview1);
      }
      if (BonusPreview1.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(BonusPreview1);
      }
      if (Time2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Time2);
      }
      if (RewardPreview2.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(RewardPreview2);
      }
      if (BonusPreview2.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(BonusPreview2);
      }
      if (Time3 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(Time3);
      }
      if (RewardPreview3.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(RewardPreview3);
      }
      if (BonusPreview3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(BonusPreview3);
      }
      if (Time4 != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(Time4);
      }
      if (RewardPreview4.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(RewardPreview4);
      }
      if (BonusPreview4.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(BonusPreview4);
      }
      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.WriteInt32(Id);
      }
      if (Tab != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Tab);
      }
      if (Note.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Note);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Consignor.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Consignor);
      }
      if (RefreshType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RefreshType);
      }
      if (MemberType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MemberType);
      }
      if (Level != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Level);
      }
      if (BuildScore != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BuildScore);
      }
      if (MemberLimit != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(MemberLimit);
      }
      tags_.WriteTo(ref output, _repeated_tags_codec);
      extraTags_.WriteTo(ref output, _repeated_extraTags_codec);
      if (UnlockConditions.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(UnlockConditions);
      }
      if (Sort != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Sort);
      }
      if (Time1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(Time1);
      }
      if (RewardPreview1.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(RewardPreview1);
      }
      if (BonusPreview1.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(BonusPreview1);
      }
      if (Time2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Time2);
      }
      if (RewardPreview2.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(RewardPreview2);
      }
      if (BonusPreview2.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(BonusPreview2);
      }
      if (Time3 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(Time3);
      }
      if (RewardPreview3.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(RewardPreview3);
      }
      if (BonusPreview3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(BonusPreview3);
      }
      if (Time4 != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(Time4);
      }
      if (RewardPreview4.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(RewardPreview4);
      }
      if (BonusPreview4.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(BonusPreview4);
      }
      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.ComputeInt32Size(Id);
      }
      if (Tab != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tab);
      }
      if (Note.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Note);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Consignor.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Consignor);
      }
      if (RefreshType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefreshType);
      }
      if (MemberType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MemberType);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (BuildScore != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuildScore);
      }
      if (MemberLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MemberLimit);
      }
      size += tags_.CalculateSize(_repeated_tags_codec);
      size += extraTags_.CalculateSize(_repeated_extraTags_codec);
      if (UnlockConditions.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UnlockConditions);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (Time1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Time1);
      }
      if (RewardPreview1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RewardPreview1);
      }
      if (BonusPreview1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BonusPreview1);
      }
      if (Time2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Time2);
      }
      if (RewardPreview2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RewardPreview2);
      }
      if (BonusPreview2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BonusPreview2);
      }
      if (Time3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Time3);
      }
      if (RewardPreview3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RewardPreview3);
      }
      if (BonusPreview3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BonusPreview3);
      }
      if (Time4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Time4);
      }
      if (RewardPreview4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RewardPreview4);
      }
      if (BonusPreview4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BonusPreview4);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Agent other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Tab != 0) {
        Tab = other.Tab;
      }
      if (other.Note.Length != 0) {
        Note = other.Note;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Consignor.Length != 0) {
        Consignor = other.Consignor;
      }
      if (other.RefreshType != 0) {
        RefreshType = other.RefreshType;
      }
      if (other.MemberType != 0) {
        MemberType = other.MemberType;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.BuildScore != 0) {
        BuildScore = other.BuildScore;
      }
      if (other.MemberLimit != 0) {
        MemberLimit = other.MemberLimit;
      }
      tags_.Add(other.tags_);
      extraTags_.Add(other.extraTags_);
      if (other.UnlockConditions.Length != 0) {
        UnlockConditions = other.UnlockConditions;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.Time1 != 0) {
        Time1 = other.Time1;
      }
      if (other.RewardPreview1.Length != 0) {
        RewardPreview1 = other.RewardPreview1;
      }
      if (other.BonusPreview1.Length != 0) {
        BonusPreview1 = other.BonusPreview1;
      }
      if (other.Time2 != 0) {
        Time2 = other.Time2;
      }
      if (other.RewardPreview2.Length != 0) {
        RewardPreview2 = other.RewardPreview2;
      }
      if (other.BonusPreview2.Length != 0) {
        BonusPreview2 = other.BonusPreview2;
      }
      if (other.Time3 != 0) {
        Time3 = other.Time3;
      }
      if (other.RewardPreview3.Length != 0) {
        RewardPreview3 = other.RewardPreview3;
      }
      if (other.BonusPreview3.Length != 0) {
        BonusPreview3 = other.BonusPreview3;
      }
      if (other.Time4 != 0) {
        Time4 = other.Time4;
      }
      if (other.RewardPreview4.Length != 0) {
        RewardPreview4 = other.RewardPreview4;
      }
      if (other.BonusPreview4.Length != 0) {
        BonusPreview4 = other.BonusPreview4;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Tab = input.ReadInt32();
            break;
          }
          case 26: {
            Note = input.ReadString();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Consignor = input.ReadString();
            break;
          }
          case 56: {
            RefreshType = input.ReadInt32();
            break;
          }
          case 64: {
            MemberType = input.ReadInt32();
            break;
          }
          case 72: {
            Level = input.ReadInt32();
            break;
          }
          case 80: {
            BuildScore = input.ReadInt32();
            break;
          }
          case 88: {
            MemberLimit = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            tags_.AddEntriesFrom(input, _repeated_tags_codec);
            break;
          }
          case 106:
          case 104: {
            extraTags_.AddEntriesFrom(input, _repeated_extraTags_codec);
            break;
          }
          case 114: {
            UnlockConditions = input.ReadString();
            break;
          }
          case 120: {
            Sort = input.ReadInt32();
            break;
          }
          case 128: {
            Time1 = input.ReadInt32();
            break;
          }
          case 138: {
            RewardPreview1 = input.ReadString();
            break;
          }
          case 146: {
            BonusPreview1 = input.ReadString();
            break;
          }
          case 152: {
            Time2 = input.ReadInt32();
            break;
          }
          case 162: {
            RewardPreview2 = input.ReadString();
            break;
          }
          case 170: {
            BonusPreview2 = input.ReadString();
            break;
          }
          case 176: {
            Time3 = input.ReadInt32();
            break;
          }
          case 186: {
            RewardPreview3 = input.ReadString();
            break;
          }
          case 194: {
            BonusPreview3 = input.ReadString();
            break;
          }
          case 200: {
            Time4 = input.ReadInt32();
            break;
          }
          case 210: {
            RewardPreview4 = input.ReadString();
            break;
          }
          case 218: {
            BonusPreview4 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Tab = input.ReadInt32();
            break;
          }
          case 26: {
            Note = input.ReadString();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Consignor = input.ReadString();
            break;
          }
          case 56: {
            RefreshType = input.ReadInt32();
            break;
          }
          case 64: {
            MemberType = input.ReadInt32();
            break;
          }
          case 72: {
            Level = input.ReadInt32();
            break;
          }
          case 80: {
            BuildScore = input.ReadInt32();
            break;
          }
          case 88: {
            MemberLimit = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            tags_.AddEntriesFrom(ref input, _repeated_tags_codec);
            break;
          }
          case 106:
          case 104: {
            extraTags_.AddEntriesFrom(ref input, _repeated_extraTags_codec);
            break;
          }
          case 114: {
            UnlockConditions = input.ReadString();
            break;
          }
          case 120: {
            Sort = input.ReadInt32();
            break;
          }
          case 128: {
            Time1 = input.ReadInt32();
            break;
          }
          case 138: {
            RewardPreview1 = input.ReadString();
            break;
          }
          case 146: {
            BonusPreview1 = input.ReadString();
            break;
          }
          case 152: {
            Time2 = input.ReadInt32();
            break;
          }
          case 162: {
            RewardPreview2 = input.ReadString();
            break;
          }
          case 170: {
            BonusPreview2 = input.ReadString();
            break;
          }
          case 176: {
            Time3 = input.ReadInt32();
            break;
          }
          case 186: {
            RewardPreview3 = input.ReadString();
            break;
          }
          case 194: {
            BonusPreview3 = input.ReadString();
            break;
          }
          case 200: {
            Time4 = input.ReadInt32();
            break;
          }
          case 210: {
            RewardPreview4 = input.ReadString();
            break;
          }
          case 218: {
            BonusPreview4 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

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

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

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Agent> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Agent.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Agent> list_ = new pbc::RepeatedField<global::Nova.Client.Agent>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Agent> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Agent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Agent other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 AgentSpecialPerformance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AgentSpecialPerformance(AgentSpecialPerformance other) : this() {
      id_ = other.id_;
      charId_ = other.charId_.Clone();
      weight_ = other.weight_;
      avg_ = other.avg_;
      aVGGroupId_ = other.aVGGroupId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_charId_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> charId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CharId {
      get { return charId_; }
    }

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

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

    /// <summary>Field number for the "AVGGroupId" field.</summary>
    public const int AVGGroupIdFieldNumber = 5;
    private string aVGGroupId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AVGGroupId {
      get { return aVGGroupId_; }
      set {
        aVGGroupId_ = 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 AgentSpecialPerformance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AgentSpecialPerformance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!charId_.Equals(other.charId_)) return false;
      if (Weight != other.Weight) return false;
      if (Avg != other.Avg) return false;
      if (AVGGroupId != other.AVGGroupId) 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();
      hash ^= charId_.GetHashCode();
      if (Weight != 0) hash ^= Weight.GetHashCode();
      if (Avg.Length != 0) hash ^= Avg.GetHashCode();
      if (AVGGroupId.Length != 0) hash ^= AVGGroupId.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.WriteInt32(Id);
      }
      charId_.WriteTo(output, _repeated_charId_codec);
      if (Weight != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Weight);
      }
      if (Avg.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Avg);
      }
      if (AVGGroupId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AVGGroupId);
      }
      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.WriteInt32(Id);
      }
      charId_.WriteTo(ref output, _repeated_charId_codec);
      if (Weight != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Weight);
      }
      if (Avg.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Avg);
      }
      if (AVGGroupId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AVGGroupId);
      }
      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.ComputeInt32Size(Id);
      }
      size += charId_.CalculateSize(_repeated_charId_codec);
      if (Weight != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      if (Avg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Avg);
      }
      if (AVGGroupId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AVGGroupId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AgentSpecialPerformance other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      charId_.Add(other.charId_);
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      if (other.Avg.Length != 0) {
        Avg = other.Avg;
      }
      if (other.AVGGroupId.Length != 0) {
        AVGGroupId = other.AVGGroupId;
      }
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            charId_.AddEntriesFrom(input, _repeated_charId_codec);
            break;
          }
          case 24: {
            Weight = input.ReadInt32();
            break;
          }
          case 34: {
            Avg = input.ReadString();
            break;
          }
          case 42: {
            AVGGroupId = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            charId_.AddEntriesFrom(ref input, _repeated_charId_codec);
            break;
          }
          case 24: {
            Weight = input.ReadInt32();
            break;
          }
          case 34: {
            Avg = input.ReadString();
            break;
          }
          case 42: {
            AVGGroupId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_AgentSpecialPerformance() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AgentSpecialPerformance> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AgentSpecialPerformance.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AgentSpecialPerformance> list_ = new pbc::RepeatedField<global::Nova.Client.AgentSpecialPerformance>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AgentSpecialPerformance> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AgentSpecialPerformance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AgentSpecialPerformance other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 AgentTab() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AgentTab other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Bg != other.Bg) return false;
      if (SpTag != other.SpTag) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Bg.Length != 0) hash ^= Bg.GetHashCode();
      if (SpTag != false) hash ^= SpTag.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Bg);
      }
      if (SpTag != false) {
        output.WriteRawTag(32);
        output.WriteBool(SpTag);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Bg);
      }
      if (SpTag != false) {
        output.WriteRawTag(32);
        output.WriteBool(SpTag);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Bg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Bg);
      }
      if (SpTag != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AgentTab other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Bg.Length != 0) {
        Bg = other.Bg;
      }
      if (other.SpTag != false) {
        SpTag = other.SpTag;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Bg = input.ReadString();
            break;
          }
          case 32: {
            SpTag = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Bg = input.ReadString();
            break;
          }
          case 32: {
            SpTag = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_AgentTab() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AgentTab> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AgentTab.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AgentTab> list_ = new pbc::RepeatedField<global::Nova.Client.AgentTab>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AgentTab> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AgentTab other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AgentTab other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 AI() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public AI(AI other) : this() {
      id_ = other.id_;
      fCSpawn_ = other.fCSpawn_;
      fCIdle_ = other.fCIdle_;
      fCAction_ = other.fCAction_;
      fCLostControl_ = other.fCLostControl_;
      fCDeath_ = other.fCDeath_;
      fCGlobal_ = other.fCGlobal_;
      fCComboGroup_ = other.fCComboGroup_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "FCComboGroup" field.</summary>
    public const int FCComboGroupFieldNumber = 8;
    private string fCComboGroup_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FCComboGroup {
      get { return fCComboGroup_; }
      set {
        fCComboGroup_ = 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 AI);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AI other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FCSpawn != other.FCSpawn) return false;
      if (FCIdle != other.FCIdle) return false;
      if (FCAction != other.FCAction) return false;
      if (FCLostControl != other.FCLostControl) return false;
      if (FCDeath != other.FCDeath) return false;
      if (FCGlobal != other.FCGlobal) return false;
      if (FCComboGroup != other.FCComboGroup) 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 (FCSpawn.Length != 0) hash ^= FCSpawn.GetHashCode();
      if (FCIdle.Length != 0) hash ^= FCIdle.GetHashCode();
      if (FCAction.Length != 0) hash ^= FCAction.GetHashCode();
      if (FCLostControl.Length != 0) hash ^= FCLostControl.GetHashCode();
      if (FCDeath.Length != 0) hash ^= FCDeath.GetHashCode();
      if (FCGlobal.Length != 0) hash ^= FCGlobal.GetHashCode();
      if (FCComboGroup.Length != 0) hash ^= FCComboGroup.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.WriteInt32(Id);
      }
      if (FCSpawn.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FCSpawn);
      }
      if (FCIdle.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FCIdle);
      }
      if (FCAction.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FCAction);
      }
      if (FCLostControl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(FCLostControl);
      }
      if (FCDeath.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(FCDeath);
      }
      if (FCGlobal.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(FCGlobal);
      }
      if (FCComboGroup.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(FCComboGroup);
      }
      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.WriteInt32(Id);
      }
      if (FCSpawn.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FCSpawn);
      }
      if (FCIdle.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FCIdle);
      }
      if (FCAction.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FCAction);
      }
      if (FCLostControl.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(FCLostControl);
      }
      if (FCDeath.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(FCDeath);
      }
      if (FCGlobal.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(FCGlobal);
      }
      if (FCComboGroup.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(FCComboGroup);
      }
      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.ComputeInt32Size(Id);
      }
      if (FCSpawn.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCSpawn);
      }
      if (FCIdle.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCIdle);
      }
      if (FCAction.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCAction);
      }
      if (FCLostControl.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCLostControl);
      }
      if (FCDeath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCDeath);
      }
      if (FCGlobal.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCGlobal);
      }
      if (FCComboGroup.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCComboGroup);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AI other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FCSpawn.Length != 0) {
        FCSpawn = other.FCSpawn;
      }
      if (other.FCIdle.Length != 0) {
        FCIdle = other.FCIdle;
      }
      if (other.FCAction.Length != 0) {
        FCAction = other.FCAction;
      }
      if (other.FCLostControl.Length != 0) {
        FCLostControl = other.FCLostControl;
      }
      if (other.FCDeath.Length != 0) {
        FCDeath = other.FCDeath;
      }
      if (other.FCGlobal.Length != 0) {
        FCGlobal = other.FCGlobal;
      }
      if (other.FCComboGroup.Length != 0) {
        FCComboGroup = other.FCComboGroup;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            FCSpawn = input.ReadString();
            break;
          }
          case 26: {
            FCIdle = input.ReadString();
            break;
          }
          case 34: {
            FCAction = input.ReadString();
            break;
          }
          case 42: {
            FCLostControl = input.ReadString();
            break;
          }
          case 50: {
            FCDeath = input.ReadString();
            break;
          }
          case 58: {
            FCGlobal = input.ReadString();
            break;
          }
          case 66: {
            FCComboGroup = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FCSpawn = input.ReadString();
            break;
          }
          case 26: {
            FCIdle = input.ReadString();
            break;
          }
          case 34: {
            FCAction = input.ReadString();
            break;
          }
          case 42: {
            FCLostControl = input.ReadString();
            break;
          }
          case 50: {
            FCDeath = input.ReadString();
            break;
          }
          case 58: {
            FCGlobal = input.ReadString();
            break;
          }
          case 66: {
            FCComboGroup = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_AI() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AI> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AI.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AI> list_ = new pbc::RepeatedField<global::Nova.Client.AI>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AI> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AI other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AI other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 AreaEffect() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AreaEffect other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (AreaTag != other.AreaTag) return false;
      if (MaxCount != other.MaxCount) return false;
      if (OverLimitType != other.OverLimitType) 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 (AreaTag != 0) hash ^= AreaTag.GetHashCode();
      if (MaxCount != 0) hash ^= MaxCount.GetHashCode();
      if (OverLimitType != 0) hash ^= OverLimitType.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 (AreaTag != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(AreaTag);
      }
      if (MaxCount != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MaxCount);
      }
      if (OverLimitType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(OverLimitType);
      }
      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 (AreaTag != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(AreaTag);
      }
      if (MaxCount != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MaxCount);
      }
      if (OverLimitType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(OverLimitType);
      }
      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 (AreaTag != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AreaTag);
      }
      if (MaxCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxCount);
      }
      if (OverLimitType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OverLimitType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AreaEffect other) {
      if (other == null) {
        return;
      }
      if (other.AreaTag != 0) {
        AreaTag = other.AreaTag;
      }
      if (other.MaxCount != 0) {
        MaxCount = other.MaxCount;
      }
      if (other.OverLimitType != 0) {
        OverLimitType = other.OverLimitType;
      }
      _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: {
            AreaTag = input.ReadInt32();
            break;
          }
          case 16: {
            MaxCount = input.ReadInt32();
            break;
          }
          case 24: {
            OverLimitType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 table_AreaEffect() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AreaEffect> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AreaEffect.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AreaEffect> list_ = new pbc::RepeatedField<global::Nova.Client.AreaEffect>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AreaEffect> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AreaEffect other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AreaEffect other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 Attribute() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Attribute(Attribute other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      break_ = other.break_;
      lvl_ = other.lvl_;
      atk_ = other.atk_;
      hp_ = other.hp_;
      def_ = other.def_;
      critRate_ = other.critRate_;
      normalCritRate_ = other.normalCritRate_;
      skillCritRate_ = other.skillCritRate_;
      ultraCritRate_ = other.ultraCritRate_;
      markCritRate_ = other.markCritRate_;
      summonCritRate_ = other.summonCritRate_;
      projectileCritRate_ = other.projectileCritRate_;
      otherCritRate_ = other.otherCritRate_;
      critResistance_ = other.critResistance_;
      critPower_ = other.critPower_;
      normalCritPower_ = other.normalCritPower_;
      skillCritPower_ = other.skillCritPower_;
      ultraCritPower_ = other.ultraCritPower_;
      markCritPower_ = other.markCritPower_;
      summonCritPower_ = other.summonCritPower_;
      projectileCritPower_ = other.projectileCritPower_;
      otherCritPower_ = other.otherCritPower_;
      hitRate_ = other.hitRate_;
      evd_ = other.evd_;
      defPierce_ = other.defPierce_;
      defIgnore_ = other.defIgnore_;
      wEP_ = other.wEP_;
      fEP_ = other.fEP_;
      sEP_ = other.sEP_;
      aEP_ = other.aEP_;
      lEP_ = other.lEP_;
      dEP_ = other.dEP_;
      wEI_ = other.wEI_;
      fEI_ = other.fEI_;
      sEI_ = other.sEI_;
      aEI_ = other.aEI_;
      lEI_ = other.lEI_;
      dEI_ = other.dEI_;
      wEE_ = other.wEE_;
      fEE_ = other.fEE_;
      sEE_ = other.sEE_;
      aEE_ = other.aEE_;
      lEE_ = other.lEE_;
      dEE_ = other.dEE_;
      wER_ = other.wER_;
      fER_ = other.fER_;
      sER_ = other.sER_;
      aER_ = other.aER_;
      lER_ = other.lER_;
      dER_ = other.dER_;
      toughnessDamageAdjust_ = other.toughnessDamageAdjust_;
      toughness_ = other.toughness_;
      suppress_ = other.suppress_;
      nORMALDMG_ = other.nORMALDMG_;
      sKILLDMG_ = other.sKILLDMG_;
      uLTRADMG_ = other.uLTRADMG_;
      oTHERDMG_ = other.oTHERDMG_;
      rCDNORMALDMG_ = other.rCDNORMALDMG_;
      rCDSKILLDMG_ = other.rCDSKILLDMG_;
      rCDULTRADMG_ = other.rCDULTRADMG_;
      rCDOTHERDMG_ = other.rCDOTHERDMG_;
      mARKDMG_ = other.mARKDMG_;
      rCDMARKDMG_ = other.rCDMARKDMG_;
      sUMMONDMG_ = other.sUMMONDMG_;
      rCDSUMMONDMG_ = other.rCDSUMMONDMG_;
      pROJECTILEDMG_ = other.pROJECTILEDMG_;
      rCDPROJECTILEDMG_ = other.rCDPROJECTILEDMG_;
      gENDMG_ = other.gENDMG_;
      dMGPLUS_ = other.dMGPLUS_;
      fINALDMG_ = other.fINALDMG_;
      fINALDMGPLUS_ = other.fINALDMGPLUS_;
      wEERCD_ = other.wEERCD_;
      fEERCD_ = other.fEERCD_;
      sEERCD_ = other.sEERCD_;
      aEERCD_ = other.aEERCD_;
      lEERCD_ = other.lEERCD_;
      dEERCD_ = other.dEERCD_;
      gENDMGRCD_ = other.gENDMGRCD_;
      dMGPLUSRCD_ = other.dMGPLUSRCD_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Attribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Break != other.Break) return false;
      if (Lvl != other.Lvl) return false;
      if (Atk != other.Atk) return false;
      if (Hp != other.Hp) return false;
      if (Def != other.Def) return false;
      if (CritRate != other.CritRate) return false;
      if (NormalCritRate != other.NormalCritRate) return false;
      if (SkillCritRate != other.SkillCritRate) return false;
      if (UltraCritRate != other.UltraCritRate) return false;
      if (MarkCritRate != other.MarkCritRate) return false;
      if (SummonCritRate != other.SummonCritRate) return false;
      if (ProjectileCritRate != other.ProjectileCritRate) return false;
      if (OtherCritRate != other.OtherCritRate) return false;
      if (CritResistance != other.CritResistance) return false;
      if (CritPower != other.CritPower) return false;
      if (NormalCritPower != other.NormalCritPower) return false;
      if (SkillCritPower != other.SkillCritPower) return false;
      if (UltraCritPower != other.UltraCritPower) return false;
      if (MarkCritPower != other.MarkCritPower) return false;
      if (SummonCritPower != other.SummonCritPower) return false;
      if (ProjectileCritPower != other.ProjectileCritPower) return false;
      if (OtherCritPower != other.OtherCritPower) return false;
      if (HitRate != other.HitRate) return false;
      if (Evd != other.Evd) return false;
      if (DefPierce != other.DefPierce) return false;
      if (DefIgnore != other.DefIgnore) return false;
      if (WEP != other.WEP) return false;
      if (FEP != other.FEP) return false;
      if (SEP != other.SEP) return false;
      if (AEP != other.AEP) return false;
      if (LEP != other.LEP) return false;
      if (DEP != other.DEP) return false;
      if (WEI != other.WEI) return false;
      if (FEI != other.FEI) return false;
      if (SEI != other.SEI) return false;
      if (AEI != other.AEI) return false;
      if (LEI != other.LEI) return false;
      if (DEI != other.DEI) return false;
      if (WEE != other.WEE) return false;
      if (FEE != other.FEE) return false;
      if (SEE != other.SEE) return false;
      if (AEE != other.AEE) return false;
      if (LEE != other.LEE) return false;
      if (DEE != other.DEE) return false;
      if (WER != other.WER) return false;
      if (FER != other.FER) return false;
      if (SER != other.SER) return false;
      if (AER != other.AER) return false;
      if (LER != other.LER) return false;
      if (DER != other.DER) return false;
      if (ToughnessDamageAdjust != other.ToughnessDamageAdjust) return false;
      if (Toughness != other.Toughness) return false;
      if (Suppress != other.Suppress) return false;
      if (NORMALDMG != other.NORMALDMG) return false;
      if (SKILLDMG != other.SKILLDMG) return false;
      if (ULTRADMG != other.ULTRADMG) return false;
      if (OTHERDMG != other.OTHERDMG) return false;
      if (RCDNORMALDMG != other.RCDNORMALDMG) return false;
      if (RCDSKILLDMG != other.RCDSKILLDMG) return false;
      if (RCDULTRADMG != other.RCDULTRADMG) return false;
      if (RCDOTHERDMG != other.RCDOTHERDMG) return false;
      if (MARKDMG != other.MARKDMG) return false;
      if (RCDMARKDMG != other.RCDMARKDMG) return false;
      if (SUMMONDMG != other.SUMMONDMG) return false;
      if (RCDSUMMONDMG != other.RCDSUMMONDMG) return false;
      if (PROJECTILEDMG != other.PROJECTILEDMG) return false;
      if (RCDPROJECTILEDMG != other.RCDPROJECTILEDMG) return false;
      if (GENDMG != other.GENDMG) return false;
      if (DMGPLUS != other.DMGPLUS) return false;
      if (FINALDMG != other.FINALDMG) return false;
      if (FINALDMGPLUS != other.FINALDMGPLUS) return false;
      if (WEERCD != other.WEERCD) return false;
      if (FEERCD != other.FEERCD) return false;
      if (SEERCD != other.SEERCD) return false;
      if (AEERCD != other.AEERCD) return false;
      if (LEERCD != other.LEERCD) return false;
      if (DEERCD != other.DEERCD) return false;
      if (GENDMGRCD != other.GENDMGRCD) return false;
      if (DMGPLUSRCD != other.DMGPLUSRCD) 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.Length != 0) hash ^= Id.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Break != 0) hash ^= Break.GetHashCode();
      if (Lvl != 0) hash ^= Lvl.GetHashCode();
      if (Atk != 0) hash ^= Atk.GetHashCode();
      if (Hp != 0) hash ^= Hp.GetHashCode();
      if (Def != 0) hash ^= Def.GetHashCode();
      if (CritRate != 0) hash ^= CritRate.GetHashCode();
      if (NormalCritRate != 0) hash ^= NormalCritRate.GetHashCode();
      if (SkillCritRate != 0) hash ^= SkillCritRate.GetHashCode();
      if (UltraCritRate != 0) hash ^= UltraCritRate.GetHashCode();
      if (MarkCritRate != 0) hash ^= MarkCritRate.GetHashCode();
      if (SummonCritRate != 0) hash ^= SummonCritRate.GetHashCode();
      if (ProjectileCritRate != 0) hash ^= ProjectileCritRate.GetHashCode();
      if (OtherCritRate != 0) hash ^= OtherCritRate.GetHashCode();
      if (CritResistance != 0) hash ^= CritResistance.GetHashCode();
      if (CritPower != 0) hash ^= CritPower.GetHashCode();
      if (NormalCritPower != 0) hash ^= NormalCritPower.GetHashCode();
      if (SkillCritPower != 0) hash ^= SkillCritPower.GetHashCode();
      if (UltraCritPower != 0) hash ^= UltraCritPower.GetHashCode();
      if (MarkCritPower != 0) hash ^= MarkCritPower.GetHashCode();
      if (SummonCritPower != 0) hash ^= SummonCritPower.GetHashCode();
      if (ProjectileCritPower != 0) hash ^= ProjectileCritPower.GetHashCode();
      if (OtherCritPower != 0) hash ^= OtherCritPower.GetHashCode();
      if (HitRate != 0) hash ^= HitRate.GetHashCode();
      if (Evd != 0) hash ^= Evd.GetHashCode();
      if (DefPierce != 0) hash ^= DefPierce.GetHashCode();
      if (DefIgnore != 0) hash ^= DefIgnore.GetHashCode();
      if (WEP != 0) hash ^= WEP.GetHashCode();
      if (FEP != 0) hash ^= FEP.GetHashCode();
      if (SEP != 0) hash ^= SEP.GetHashCode();
      if (AEP != 0) hash ^= AEP.GetHashCode();
      if (LEP != 0) hash ^= LEP.GetHashCode();
      if (DEP != 0) hash ^= DEP.GetHashCode();
      if (WEI != 0) hash ^= WEI.GetHashCode();
      if (FEI != 0) hash ^= FEI.GetHashCode();
      if (SEI != 0) hash ^= SEI.GetHashCode();
      if (AEI != 0) hash ^= AEI.GetHashCode();
      if (LEI != 0) hash ^= LEI.GetHashCode();
      if (DEI != 0) hash ^= DEI.GetHashCode();
      if (WEE != 0) hash ^= WEE.GetHashCode();
      if (FEE != 0) hash ^= FEE.GetHashCode();
      if (SEE != 0) hash ^= SEE.GetHashCode();
      if (AEE != 0) hash ^= AEE.GetHashCode();
      if (LEE != 0) hash ^= LEE.GetHashCode();
      if (DEE != 0) hash ^= DEE.GetHashCode();
      if (WER != 0) hash ^= WER.GetHashCode();
      if (FER != 0) hash ^= FER.GetHashCode();
      if (SER != 0) hash ^= SER.GetHashCode();
      if (AER != 0) hash ^= AER.GetHashCode();
      if (LER != 0) hash ^= LER.GetHashCode();
      if (DER != 0) hash ^= DER.GetHashCode();
      if (ToughnessDamageAdjust != 0) hash ^= ToughnessDamageAdjust.GetHashCode();
      if (Toughness != 0) hash ^= Toughness.GetHashCode();
      if (Suppress != 0) hash ^= Suppress.GetHashCode();
      if (NORMALDMG != 0) hash ^= NORMALDMG.GetHashCode();
      if (SKILLDMG != 0) hash ^= SKILLDMG.GetHashCode();
      if (ULTRADMG != 0) hash ^= ULTRADMG.GetHashCode();
      if (OTHERDMG != 0) hash ^= OTHERDMG.GetHashCode();
      if (RCDNORMALDMG != 0) hash ^= RCDNORMALDMG.GetHashCode();
      if (RCDSKILLDMG != 0) hash ^= RCDSKILLDMG.GetHashCode();
      if (RCDULTRADMG != 0) hash ^= RCDULTRADMG.GetHashCode();
      if (RCDOTHERDMG != 0) hash ^= RCDOTHERDMG.GetHashCode();
      if (MARKDMG != 0) hash ^= MARKDMG.GetHashCode();
      if (RCDMARKDMG != 0) hash ^= RCDMARKDMG.GetHashCode();
      if (SUMMONDMG != 0) hash ^= SUMMONDMG.GetHashCode();
      if (RCDSUMMONDMG != 0) hash ^= RCDSUMMONDMG.GetHashCode();
      if (PROJECTILEDMG != 0) hash ^= PROJECTILEDMG.GetHashCode();
      if (RCDPROJECTILEDMG != 0) hash ^= RCDPROJECTILEDMG.GetHashCode();
      if (GENDMG != 0) hash ^= GENDMG.GetHashCode();
      if (DMGPLUS != 0) hash ^= DMGPLUS.GetHashCode();
      if (FINALDMG != 0) hash ^= FINALDMG.GetHashCode();
      if (FINALDMGPLUS != 0) hash ^= FINALDMGPLUS.GetHashCode();
      if (WEERCD != 0) hash ^= WEERCD.GetHashCode();
      if (FEERCD != 0) hash ^= FEERCD.GetHashCode();
      if (SEERCD != 0) hash ^= SEERCD.GetHashCode();
      if (AEERCD != 0) hash ^= AEERCD.GetHashCode();
      if (LEERCD != 0) hash ^= LEERCD.GetHashCode();
      if (DEERCD != 0) hash ^= DEERCD.GetHashCode();
      if (GENDMGRCD != 0) hash ^= GENDMGRCD.GetHashCode();
      if (DMGPLUSRCD != 0) hash ^= DMGPLUSRCD.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Break != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Break);
      }
      if (Lvl != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Lvl);
      }
      if (Atk != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Atk);
      }
      if (Hp != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Hp);
      }
      if (Def != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Def);
      }
      if (CritRate != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CritRate);
      }
      if (NormalCritRate != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NormalCritRate);
      }
      if (SkillCritRate != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SkillCritRate);
      }
      if (UltraCritRate != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UltraCritRate);
      }
      if (MarkCritRate != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MarkCritRate);
      }
      if (SummonCritRate != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(SummonCritRate);
      }
      if (ProjectileCritRate != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ProjectileCritRate);
      }
      if (OtherCritRate != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(OtherCritRate);
      }
      if (CritResistance != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(CritResistance);
      }
      if (CritPower != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(CritPower);
      }
      if (NormalCritPower != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(NormalCritPower);
      }
      if (SkillCritPower != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(SkillCritPower);
      }
      if (UltraCritPower != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(UltraCritPower);
      }
      if (MarkCritPower != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(MarkCritPower);
      }
      if (SummonCritPower != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(SummonCritPower);
      }
      if (ProjectileCritPower != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ProjectileCritPower);
      }
      if (OtherCritPower != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(OtherCritPower);
      }
      if (HitRate != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(HitRate);
      }
      if (Evd != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(Evd);
      }
      if (DefPierce != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(DefPierce);
      }
      if (DefIgnore != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(DefIgnore);
      }
      if (WEP != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(WEP);
      }
      if (FEP != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(FEP);
      }
      if (SEP != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(SEP);
      }
      if (AEP != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(AEP);
      }
      if (LEP != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(LEP);
      }
      if (DEP != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(DEP);
      }
      if (WEI != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(WEI);
      }
      if (FEI != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(FEI);
      }
      if (SEI != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(SEI);
      }
      if (AEI != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(AEI);
      }
      if (LEI != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(LEI);
      }
      if (DEI != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(DEI);
      }
      if (WEE != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(WEE);
      }
      if (FEE != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(FEE);
      }
      if (SEE != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(SEE);
      }
      if (AEE != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(AEE);
      }
      if (LEE != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(LEE);
      }
      if (DEE != 0) {
        output.WriteRawTag(240, 2);
        output.WriteInt32(DEE);
      }
      if (WER != 0) {
        output.WriteRawTag(248, 2);
        output.WriteInt32(WER);
      }
      if (FER != 0) {
        output.WriteRawTag(128, 3);
        output.WriteInt32(FER);
      }
      if (SER != 0) {
        output.WriteRawTag(136, 3);
        output.WriteInt32(SER);
      }
      if (AER != 0) {
        output.WriteRawTag(144, 3);
        output.WriteInt32(AER);
      }
      if (LER != 0) {
        output.WriteRawTag(152, 3);
        output.WriteInt32(LER);
      }
      if (DER != 0) {
        output.WriteRawTag(160, 3);
        output.WriteInt32(DER);
      }
      if (ToughnessDamageAdjust != 0) {
        output.WriteRawTag(168, 3);
        output.WriteInt32(ToughnessDamageAdjust);
      }
      if (Toughness != 0) {
        output.WriteRawTag(176, 3);
        output.WriteInt32(Toughness);
      }
      if (Suppress != 0) {
        output.WriteRawTag(184, 3);
        output.WriteInt32(Suppress);
      }
      if (NORMALDMG != 0) {
        output.WriteRawTag(192, 3);
        output.WriteInt32(NORMALDMG);
      }
      if (SKILLDMG != 0) {
        output.WriteRawTag(200, 3);
        output.WriteInt32(SKILLDMG);
      }
      if (ULTRADMG != 0) {
        output.WriteRawTag(208, 3);
        output.WriteInt32(ULTRADMG);
      }
      if (OTHERDMG != 0) {
        output.WriteRawTag(216, 3);
        output.WriteInt32(OTHERDMG);
      }
      if (RCDNORMALDMG != 0) {
        output.WriteRawTag(224, 3);
        output.WriteInt32(RCDNORMALDMG);
      }
      if (RCDSKILLDMG != 0) {
        output.WriteRawTag(232, 3);
        output.WriteInt32(RCDSKILLDMG);
      }
      if (RCDULTRADMG != 0) {
        output.WriteRawTag(240, 3);
        output.WriteInt32(RCDULTRADMG);
      }
      if (RCDOTHERDMG != 0) {
        output.WriteRawTag(248, 3);
        output.WriteInt32(RCDOTHERDMG);
      }
      if (MARKDMG != 0) {
        output.WriteRawTag(128, 4);
        output.WriteInt32(MARKDMG);
      }
      if (RCDMARKDMG != 0) {
        output.WriteRawTag(136, 4);
        output.WriteInt32(RCDMARKDMG);
      }
      if (SUMMONDMG != 0) {
        output.WriteRawTag(144, 4);
        output.WriteInt32(SUMMONDMG);
      }
      if (RCDSUMMONDMG != 0) {
        output.WriteRawTag(152, 4);
        output.WriteInt32(RCDSUMMONDMG);
      }
      if (PROJECTILEDMG != 0) {
        output.WriteRawTag(160, 4);
        output.WriteInt32(PROJECTILEDMG);
      }
      if (RCDPROJECTILEDMG != 0) {
        output.WriteRawTag(168, 4);
        output.WriteInt32(RCDPROJECTILEDMG);
      }
      if (GENDMG != 0) {
        output.WriteRawTag(176, 4);
        output.WriteInt32(GENDMG);
      }
      if (DMGPLUS != 0) {
        output.WriteRawTag(184, 4);
        output.WriteInt32(DMGPLUS);
      }
      if (FINALDMG != 0) {
        output.WriteRawTag(192, 4);
        output.WriteInt32(FINALDMG);
      }
      if (FINALDMGPLUS != 0) {
        output.WriteRawTag(200, 4);
        output.WriteInt32(FINALDMGPLUS);
      }
      if (WEERCD != 0) {
        output.WriteRawTag(208, 4);
        output.WriteInt32(WEERCD);
      }
      if (FEERCD != 0) {
        output.WriteRawTag(216, 4);
        output.WriteInt32(FEERCD);
      }
      if (SEERCD != 0) {
        output.WriteRawTag(224, 4);
        output.WriteInt32(SEERCD);
      }
      if (AEERCD != 0) {
        output.WriteRawTag(232, 4);
        output.WriteInt32(AEERCD);
      }
      if (LEERCD != 0) {
        output.WriteRawTag(240, 4);
        output.WriteInt32(LEERCD);
      }
      if (DEERCD != 0) {
        output.WriteRawTag(248, 4);
        output.WriteInt32(DEERCD);
      }
      if (GENDMGRCD != 0) {
        output.WriteRawTag(128, 5);
        output.WriteInt32(GENDMGRCD);
      }
      if (DMGPLUSRCD != 0) {
        output.WriteRawTag(136, 5);
        output.WriteInt32(DMGPLUSRCD);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Break != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Break);
      }
      if (Lvl != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Lvl);
      }
      if (Atk != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Atk);
      }
      if (Hp != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Hp);
      }
      if (Def != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Def);
      }
      if (CritRate != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CritRate);
      }
      if (NormalCritRate != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NormalCritRate);
      }
      if (SkillCritRate != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SkillCritRate);
      }
      if (UltraCritRate != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UltraCritRate);
      }
      if (MarkCritRate != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MarkCritRate);
      }
      if (SummonCritRate != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(SummonCritRate);
      }
      if (ProjectileCritRate != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ProjectileCritRate);
      }
      if (OtherCritRate != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(OtherCritRate);
      }
      if (CritResistance != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(CritResistance);
      }
      if (CritPower != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(CritPower);
      }
      if (NormalCritPower != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(NormalCritPower);
      }
      if (SkillCritPower != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(SkillCritPower);
      }
      if (UltraCritPower != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(UltraCritPower);
      }
      if (MarkCritPower != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(MarkCritPower);
      }
      if (SummonCritPower != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(SummonCritPower);
      }
      if (ProjectileCritPower != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ProjectileCritPower);
      }
      if (OtherCritPower != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(OtherCritPower);
      }
      if (HitRate != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(HitRate);
      }
      if (Evd != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(Evd);
      }
      if (DefPierce != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(DefPierce);
      }
      if (DefIgnore != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(DefIgnore);
      }
      if (WEP != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(WEP);
      }
      if (FEP != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(FEP);
      }
      if (SEP != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(SEP);
      }
      if (AEP != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(AEP);
      }
      if (LEP != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(LEP);
      }
      if (DEP != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(DEP);
      }
      if (WEI != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(WEI);
      }
      if (FEI != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(FEI);
      }
      if (SEI != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(SEI);
      }
      if (AEI != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(AEI);
      }
      if (LEI != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(LEI);
      }
      if (DEI != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(DEI);
      }
      if (WEE != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(WEE);
      }
      if (FEE != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(FEE);
      }
      if (SEE != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(SEE);
      }
      if (AEE != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(AEE);
      }
      if (LEE != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(LEE);
      }
      if (DEE != 0) {
        output.WriteRawTag(240, 2);
        output.WriteInt32(DEE);
      }
      if (WER != 0) {
        output.WriteRawTag(248, 2);
        output.WriteInt32(WER);
      }
      if (FER != 0) {
        output.WriteRawTag(128, 3);
        output.WriteInt32(FER);
      }
      if (SER != 0) {
        output.WriteRawTag(136, 3);
        output.WriteInt32(SER);
      }
      if (AER != 0) {
        output.WriteRawTag(144, 3);
        output.WriteInt32(AER);
      }
      if (LER != 0) {
        output.WriteRawTag(152, 3);
        output.WriteInt32(LER);
      }
      if (DER != 0) {
        output.WriteRawTag(160, 3);
        output.WriteInt32(DER);
      }
      if (ToughnessDamageAdjust != 0) {
        output.WriteRawTag(168, 3);
        output.WriteInt32(ToughnessDamageAdjust);
      }
      if (Toughness != 0) {
        output.WriteRawTag(176, 3);
        output.WriteInt32(Toughness);
      }
      if (Suppress != 0) {
        output.WriteRawTag(184, 3);
        output.WriteInt32(Suppress);
      }
      if (NORMALDMG != 0) {
        output.WriteRawTag(192, 3);
        output.WriteInt32(NORMALDMG);
      }
      if (SKILLDMG != 0) {
        output.WriteRawTag(200, 3);
        output.WriteInt32(SKILLDMG);
      }
      if (ULTRADMG != 0) {
        output.WriteRawTag(208, 3);
        output.WriteInt32(ULTRADMG);
      }
      if (OTHERDMG != 0) {
        output.WriteRawTag(216, 3);
        output.WriteInt32(OTHERDMG);
      }
      if (RCDNORMALDMG != 0) {
        output.WriteRawTag(224, 3);
        output.WriteInt32(RCDNORMALDMG);
      }
      if (RCDSKILLDMG != 0) {
        output.WriteRawTag(232, 3);
        output.WriteInt32(RCDSKILLDMG);
      }
      if (RCDULTRADMG != 0) {
        output.WriteRawTag(240, 3);
        output.WriteInt32(RCDULTRADMG);
      }
      if (RCDOTHERDMG != 0) {
        output.WriteRawTag(248, 3);
        output.WriteInt32(RCDOTHERDMG);
      }
      if (MARKDMG != 0) {
        output.WriteRawTag(128, 4);
        output.WriteInt32(MARKDMG);
      }
      if (RCDMARKDMG != 0) {
        output.WriteRawTag(136, 4);
        output.WriteInt32(RCDMARKDMG);
      }
      if (SUMMONDMG != 0) {
        output.WriteRawTag(144, 4);
        output.WriteInt32(SUMMONDMG);
      }
      if (RCDSUMMONDMG != 0) {
        output.WriteRawTag(152, 4);
        output.WriteInt32(RCDSUMMONDMG);
      }
      if (PROJECTILEDMG != 0) {
        output.WriteRawTag(160, 4);
        output.WriteInt32(PROJECTILEDMG);
      }
      if (RCDPROJECTILEDMG != 0) {
        output.WriteRawTag(168, 4);
        output.WriteInt32(RCDPROJECTILEDMG);
      }
      if (GENDMG != 0) {
        output.WriteRawTag(176, 4);
        output.WriteInt32(GENDMG);
      }
      if (DMGPLUS != 0) {
        output.WriteRawTag(184, 4);
        output.WriteInt32(DMGPLUS);
      }
      if (FINALDMG != 0) {
        output.WriteRawTag(192, 4);
        output.WriteInt32(FINALDMG);
      }
      if (FINALDMGPLUS != 0) {
        output.WriteRawTag(200, 4);
        output.WriteInt32(FINALDMGPLUS);
      }
      if (WEERCD != 0) {
        output.WriteRawTag(208, 4);
        output.WriteInt32(WEERCD);
      }
      if (FEERCD != 0) {
        output.WriteRawTag(216, 4);
        output.WriteInt32(FEERCD);
      }
      if (SEERCD != 0) {
        output.WriteRawTag(224, 4);
        output.WriteInt32(SEERCD);
      }
      if (AEERCD != 0) {
        output.WriteRawTag(232, 4);
        output.WriteInt32(AEERCD);
      }
      if (LEERCD != 0) {
        output.WriteRawTag(240, 4);
        output.WriteInt32(LEERCD);
      }
      if (DEERCD != 0) {
        output.WriteRawTag(248, 4);
        output.WriteInt32(DEERCD);
      }
      if (GENDMGRCD != 0) {
        output.WriteRawTag(128, 5);
        output.WriteInt32(GENDMGRCD);
      }
      if (DMGPLUSRCD != 0) {
        output.WriteRawTag(136, 5);
        output.WriteInt32(DMGPLUSRCD);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Break != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Break);
      }
      if (Lvl != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Lvl);
      }
      if (Atk != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Atk);
      }
      if (Hp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Hp);
      }
      if (Def != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Def);
      }
      if (CritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CritRate);
      }
      if (NormalCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NormalCritRate);
      }
      if (SkillCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillCritRate);
      }
      if (UltraCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UltraCritRate);
      }
      if (MarkCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MarkCritRate);
      }
      if (SummonCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SummonCritRate);
      }
      if (ProjectileCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ProjectileCritRate);
      }
      if (OtherCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OtherCritRate);
      }
      if (CritResistance != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CritResistance);
      }
      if (CritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CritPower);
      }
      if (NormalCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NormalCritPower);
      }
      if (SkillCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkillCritPower);
      }
      if (UltraCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(UltraCritPower);
      }
      if (MarkCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MarkCritPower);
      }
      if (SummonCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SummonCritPower);
      }
      if (ProjectileCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ProjectileCritPower);
      }
      if (OtherCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(OtherCritPower);
      }
      if (HitRate != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HitRate);
      }
      if (Evd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Evd);
      }
      if (DefPierce != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DefPierce);
      }
      if (DefIgnore != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DefIgnore);
      }
      if (WEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEP);
      }
      if (FEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEP);
      }
      if (SEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEP);
      }
      if (AEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEP);
      }
      if (LEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEP);
      }
      if (DEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEP);
      }
      if (WEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEI);
      }
      if (FEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEI);
      }
      if (SEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEI);
      }
      if (AEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEI);
      }
      if (LEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEI);
      }
      if (DEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEI);
      }
      if (WEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEE);
      }
      if (FEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEE);
      }
      if (SEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEE);
      }
      if (AEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEE);
      }
      if (LEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEE);
      }
      if (DEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEE);
      }
      if (WER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WER);
      }
      if (FER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FER);
      }
      if (SER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SER);
      }
      if (AER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AER);
      }
      if (LER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LER);
      }
      if (DER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DER);
      }
      if (ToughnessDamageAdjust != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToughnessDamageAdjust);
      }
      if (Toughness != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Toughness);
      }
      if (Suppress != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Suppress);
      }
      if (NORMALDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NORMALDMG);
      }
      if (SKILLDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SKILLDMG);
      }
      if (ULTRADMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ULTRADMG);
      }
      if (OTHERDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(OTHERDMG);
      }
      if (RCDNORMALDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDNORMALDMG);
      }
      if (RCDSKILLDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDSKILLDMG);
      }
      if (RCDULTRADMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDULTRADMG);
      }
      if (RCDOTHERDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDOTHERDMG);
      }
      if (MARKDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MARKDMG);
      }
      if (RCDMARKDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDMARKDMG);
      }
      if (SUMMONDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SUMMONDMG);
      }
      if (RCDSUMMONDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDSUMMONDMG);
      }
      if (PROJECTILEDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PROJECTILEDMG);
      }
      if (RCDPROJECTILEDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDPROJECTILEDMG);
      }
      if (GENDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(GENDMG);
      }
      if (DMGPLUS != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DMGPLUS);
      }
      if (FINALDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FINALDMG);
      }
      if (FINALDMGPLUS != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FINALDMGPLUS);
      }
      if (WEERCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEERCD);
      }
      if (FEERCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEERCD);
      }
      if (SEERCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEERCD);
      }
      if (AEERCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEERCD);
      }
      if (LEERCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEERCD);
      }
      if (DEERCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEERCD);
      }
      if (GENDMGRCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(GENDMGRCD);
      }
      if (DMGPLUSRCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DMGPLUSRCD);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Attribute other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Break != 0) {
        Break = other.Break;
      }
      if (other.Lvl != 0) {
        Lvl = other.Lvl;
      }
      if (other.Atk != 0) {
        Atk = other.Atk;
      }
      if (other.Hp != 0) {
        Hp = other.Hp;
      }
      if (other.Def != 0) {
        Def = other.Def;
      }
      if (other.CritRate != 0) {
        CritRate = other.CritRate;
      }
      if (other.NormalCritRate != 0) {
        NormalCritRate = other.NormalCritRate;
      }
      if (other.SkillCritRate != 0) {
        SkillCritRate = other.SkillCritRate;
      }
      if (other.UltraCritRate != 0) {
        UltraCritRate = other.UltraCritRate;
      }
      if (other.MarkCritRate != 0) {
        MarkCritRate = other.MarkCritRate;
      }
      if (other.SummonCritRate != 0) {
        SummonCritRate = other.SummonCritRate;
      }
      if (other.ProjectileCritRate != 0) {
        ProjectileCritRate = other.ProjectileCritRate;
      }
      if (other.OtherCritRate != 0) {
        OtherCritRate = other.OtherCritRate;
      }
      if (other.CritResistance != 0) {
        CritResistance = other.CritResistance;
      }
      if (other.CritPower != 0) {
        CritPower = other.CritPower;
      }
      if (other.NormalCritPower != 0) {
        NormalCritPower = other.NormalCritPower;
      }
      if (other.SkillCritPower != 0) {
        SkillCritPower = other.SkillCritPower;
      }
      if (other.UltraCritPower != 0) {
        UltraCritPower = other.UltraCritPower;
      }
      if (other.MarkCritPower != 0) {
        MarkCritPower = other.MarkCritPower;
      }
      if (other.SummonCritPower != 0) {
        SummonCritPower = other.SummonCritPower;
      }
      if (other.ProjectileCritPower != 0) {
        ProjectileCritPower = other.ProjectileCritPower;
      }
      if (other.OtherCritPower != 0) {
        OtherCritPower = other.OtherCritPower;
      }
      if (other.HitRate != 0) {
        HitRate = other.HitRate;
      }
      if (other.Evd != 0) {
        Evd = other.Evd;
      }
      if (other.DefPierce != 0) {
        DefPierce = other.DefPierce;
      }
      if (other.DefIgnore != 0) {
        DefIgnore = other.DefIgnore;
      }
      if (other.WEP != 0) {
        WEP = other.WEP;
      }
      if (other.FEP != 0) {
        FEP = other.FEP;
      }
      if (other.SEP != 0) {
        SEP = other.SEP;
      }
      if (other.AEP != 0) {
        AEP = other.AEP;
      }
      if (other.LEP != 0) {
        LEP = other.LEP;
      }
      if (other.DEP != 0) {
        DEP = other.DEP;
      }
      if (other.WEI != 0) {
        WEI = other.WEI;
      }
      if (other.FEI != 0) {
        FEI = other.FEI;
      }
      if (other.SEI != 0) {
        SEI = other.SEI;
      }
      if (other.AEI != 0) {
        AEI = other.AEI;
      }
      if (other.LEI != 0) {
        LEI = other.LEI;
      }
      if (other.DEI != 0) {
        DEI = other.DEI;
      }
      if (other.WEE != 0) {
        WEE = other.WEE;
      }
      if (other.FEE != 0) {
        FEE = other.FEE;
      }
      if (other.SEE != 0) {
        SEE = other.SEE;
      }
      if (other.AEE != 0) {
        AEE = other.AEE;
      }
      if (other.LEE != 0) {
        LEE = other.LEE;
      }
      if (other.DEE != 0) {
        DEE = other.DEE;
      }
      if (other.WER != 0) {
        WER = other.WER;
      }
      if (other.FER != 0) {
        FER = other.FER;
      }
      if (other.SER != 0) {
        SER = other.SER;
      }
      if (other.AER != 0) {
        AER = other.AER;
      }
      if (other.LER != 0) {
        LER = other.LER;
      }
      if (other.DER != 0) {
        DER = other.DER;
      }
      if (other.ToughnessDamageAdjust != 0) {
        ToughnessDamageAdjust = other.ToughnessDamageAdjust;
      }
      if (other.Toughness != 0) {
        Toughness = other.Toughness;
      }
      if (other.Suppress != 0) {
        Suppress = other.Suppress;
      }
      if (other.NORMALDMG != 0) {
        NORMALDMG = other.NORMALDMG;
      }
      if (other.SKILLDMG != 0) {
        SKILLDMG = other.SKILLDMG;
      }
      if (other.ULTRADMG != 0) {
        ULTRADMG = other.ULTRADMG;
      }
      if (other.OTHERDMG != 0) {
        OTHERDMG = other.OTHERDMG;
      }
      if (other.RCDNORMALDMG != 0) {
        RCDNORMALDMG = other.RCDNORMALDMG;
      }
      if (other.RCDSKILLDMG != 0) {
        RCDSKILLDMG = other.RCDSKILLDMG;
      }
      if (other.RCDULTRADMG != 0) {
        RCDULTRADMG = other.RCDULTRADMG;
      }
      if (other.RCDOTHERDMG != 0) {
        RCDOTHERDMG = other.RCDOTHERDMG;
      }
      if (other.MARKDMG != 0) {
        MARKDMG = other.MARKDMG;
      }
      if (other.RCDMARKDMG != 0) {
        RCDMARKDMG = other.RCDMARKDMG;
      }
      if (other.SUMMONDMG != 0) {
        SUMMONDMG = other.SUMMONDMG;
      }
      if (other.RCDSUMMONDMG != 0) {
        RCDSUMMONDMG = other.RCDSUMMONDMG;
      }
      if (other.PROJECTILEDMG != 0) {
        PROJECTILEDMG = other.PROJECTILEDMG;
      }
      if (other.RCDPROJECTILEDMG != 0) {
        RCDPROJECTILEDMG = other.RCDPROJECTILEDMG;
      }
      if (other.GENDMG != 0) {
        GENDMG = other.GENDMG;
      }
      if (other.DMGPLUS != 0) {
        DMGPLUS = other.DMGPLUS;
      }
      if (other.FINALDMG != 0) {
        FINALDMG = other.FINALDMG;
      }
      if (other.FINALDMGPLUS != 0) {
        FINALDMGPLUS = other.FINALDMGPLUS;
      }
      if (other.WEERCD != 0) {
        WEERCD = other.WEERCD;
      }
      if (other.FEERCD != 0) {
        FEERCD = other.FEERCD;
      }
      if (other.SEERCD != 0) {
        SEERCD = other.SEERCD;
      }
      if (other.AEERCD != 0) {
        AEERCD = other.AEERCD;
      }
      if (other.LEERCD != 0) {
        LEERCD = other.LEERCD;
      }
      if (other.DEERCD != 0) {
        DEERCD = other.DEERCD;
      }
      if (other.GENDMGRCD != 0) {
        GENDMGRCD = other.GENDMGRCD;
      }
      if (other.DMGPLUSRCD != 0) {
        DMGPLUSRCD = other.DMGPLUSRCD;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Break = input.ReadInt32();
            break;
          }
          case 32: {
            Lvl = input.ReadInt32();
            break;
          }
          case 40: {
            Atk = input.ReadInt32();
            break;
          }
          case 48: {
            Hp = input.ReadInt32();
            break;
          }
          case 56: {
            Def = input.ReadInt32();
            break;
          }
          case 64: {
            CritRate = input.ReadInt32();
            break;
          }
          case 72: {
            NormalCritRate = input.ReadInt32();
            break;
          }
          case 80: {
            SkillCritRate = input.ReadInt32();
            break;
          }
          case 88: {
            UltraCritRate = input.ReadInt32();
            break;
          }
          case 96: {
            MarkCritRate = input.ReadInt32();
            break;
          }
          case 104: {
            SummonCritRate = input.ReadInt32();
            break;
          }
          case 112: {
            ProjectileCritRate = input.ReadInt32();
            break;
          }
          case 120: {
            OtherCritRate = input.ReadInt32();
            break;
          }
          case 128: {
            CritResistance = input.ReadInt32();
            break;
          }
          case 136: {
            CritPower = input.ReadInt32();
            break;
          }
          case 144: {
            NormalCritPower = input.ReadInt32();
            break;
          }
          case 152: {
            SkillCritPower = input.ReadInt32();
            break;
          }
          case 160: {
            UltraCritPower = input.ReadInt32();
            break;
          }
          case 168: {
            MarkCritPower = input.ReadInt32();
            break;
          }
          case 176: {
            SummonCritPower = input.ReadInt32();
            break;
          }
          case 184: {
            ProjectileCritPower = input.ReadInt32();
            break;
          }
          case 192: {
            OtherCritPower = input.ReadInt32();
            break;
          }
          case 200: {
            HitRate = input.ReadInt32();
            break;
          }
          case 208: {
            Evd = input.ReadInt32();
            break;
          }
          case 216: {
            DefPierce = input.ReadInt32();
            break;
          }
          case 224: {
            DefIgnore = input.ReadInt32();
            break;
          }
          case 232: {
            WEP = input.ReadInt32();
            break;
          }
          case 240: {
            FEP = input.ReadInt32();
            break;
          }
          case 248: {
            SEP = input.ReadInt32();
            break;
          }
          case 256: {
            AEP = input.ReadInt32();
            break;
          }
          case 264: {
            LEP = input.ReadInt32();
            break;
          }
          case 272: {
            DEP = input.ReadInt32();
            break;
          }
          case 280: {
            WEI = input.ReadInt32();
            break;
          }
          case 288: {
            FEI = input.ReadInt32();
            break;
          }
          case 296: {
            SEI = input.ReadInt32();
            break;
          }
          case 304: {
            AEI = input.ReadInt32();
            break;
          }
          case 312: {
            LEI = input.ReadInt32();
            break;
          }
          case 320: {
            DEI = input.ReadInt32();
            break;
          }
          case 328: {
            WEE = input.ReadInt32();
            break;
          }
          case 336: {
            FEE = input.ReadInt32();
            break;
          }
          case 344: {
            SEE = input.ReadInt32();
            break;
          }
          case 352: {
            AEE = input.ReadInt32();
            break;
          }
          case 360: {
            LEE = input.ReadInt32();
            break;
          }
          case 368: {
            DEE = input.ReadInt32();
            break;
          }
          case 376: {
            WER = input.ReadInt32();
            break;
          }
          case 384: {
            FER = input.ReadInt32();
            break;
          }
          case 392: {
            SER = input.ReadInt32();
            break;
          }
          case 400: {
            AER = input.ReadInt32();
            break;
          }
          case 408: {
            LER = input.ReadInt32();
            break;
          }
          case 416: {
            DER = input.ReadInt32();
            break;
          }
          case 424: {
            ToughnessDamageAdjust = input.ReadInt32();
            break;
          }
          case 432: {
            Toughness = input.ReadInt32();
            break;
          }
          case 440: {
            Suppress = input.ReadInt32();
            break;
          }
          case 448: {
            NORMALDMG = input.ReadInt32();
            break;
          }
          case 456: {
            SKILLDMG = input.ReadInt32();
            break;
          }
          case 464: {
            ULTRADMG = input.ReadInt32();
            break;
          }
          case 472: {
            OTHERDMG = input.ReadInt32();
            break;
          }
          case 480: {
            RCDNORMALDMG = input.ReadInt32();
            break;
          }
          case 488: {
            RCDSKILLDMG = input.ReadInt32();
            break;
          }
          case 496: {
            RCDULTRADMG = input.ReadInt32();
            break;
          }
          case 504: {
            RCDOTHERDMG = input.ReadInt32();
            break;
          }
          case 512: {
            MARKDMG = input.ReadInt32();
            break;
          }
          case 520: {
            RCDMARKDMG = input.ReadInt32();
            break;
          }
          case 528: {
            SUMMONDMG = input.ReadInt32();
            break;
          }
          case 536: {
            RCDSUMMONDMG = input.ReadInt32();
            break;
          }
          case 544: {
            PROJECTILEDMG = input.ReadInt32();
            break;
          }
          case 552: {
            RCDPROJECTILEDMG = input.ReadInt32();
            break;
          }
          case 560: {
            GENDMG = input.ReadInt32();
            break;
          }
          case 568: {
            DMGPLUS = input.ReadInt32();
            break;
          }
          case 576: {
            FINALDMG = input.ReadInt32();
            break;
          }
          case 584: {
            FINALDMGPLUS = input.ReadInt32();
            break;
          }
          case 592: {
            WEERCD = input.ReadInt32();
            break;
          }
          case 600: {
            FEERCD = input.ReadInt32();
            break;
          }
          case 608: {
            SEERCD = input.ReadInt32();
            break;
          }
          case 616: {
            AEERCD = input.ReadInt32();
            break;
          }
          case 624: {
            LEERCD = input.ReadInt32();
            break;
          }
          case 632: {
            DEERCD = input.ReadInt32();
            break;
          }
          case 640: {
            GENDMGRCD = input.ReadInt32();
            break;
          }
          case 648: {
            DMGPLUSRCD = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Break = input.ReadInt32();
            break;
          }
          case 32: {
            Lvl = input.ReadInt32();
            break;
          }
          case 40: {
            Atk = input.ReadInt32();
            break;
          }
          case 48: {
            Hp = input.ReadInt32();
            break;
          }
          case 56: {
            Def = input.ReadInt32();
            break;
          }
          case 64: {
            CritRate = input.ReadInt32();
            break;
          }
          case 72: {
            NormalCritRate = input.ReadInt32();
            break;
          }
          case 80: {
            SkillCritRate = input.ReadInt32();
            break;
          }
          case 88: {
            UltraCritRate = input.ReadInt32();
            break;
          }
          case 96: {
            MarkCritRate = input.ReadInt32();
            break;
          }
          case 104: {
            SummonCritRate = input.ReadInt32();
            break;
          }
          case 112: {
            ProjectileCritRate = input.ReadInt32();
            break;
          }
          case 120: {
            OtherCritRate = input.ReadInt32();
            break;
          }
          case 128: {
            CritResistance = input.ReadInt32();
            break;
          }
          case 136: {
            CritPower = input.ReadInt32();
            break;
          }
          case 144: {
            NormalCritPower = input.ReadInt32();
            break;
          }
          case 152: {
            SkillCritPower = input.ReadInt32();
            break;
          }
          case 160: {
            UltraCritPower = input.ReadInt32();
            break;
          }
          case 168: {
            MarkCritPower = input.ReadInt32();
            break;
          }
          case 176: {
            SummonCritPower = input.ReadInt32();
            break;
          }
          case 184: {
            ProjectileCritPower = input.ReadInt32();
            break;
          }
          case 192: {
            OtherCritPower = input.ReadInt32();
            break;
          }
          case 200: {
            HitRate = input.ReadInt32();
            break;
          }
          case 208: {
            Evd = input.ReadInt32();
            break;
          }
          case 216: {
            DefPierce = input.ReadInt32();
            break;
          }
          case 224: {
            DefIgnore = input.ReadInt32();
            break;
          }
          case 232: {
            WEP = input.ReadInt32();
            break;
          }
          case 240: {
            FEP = input.ReadInt32();
            break;
          }
          case 248: {
            SEP = input.ReadInt32();
            break;
          }
          case 256: {
            AEP = input.ReadInt32();
            break;
          }
          case 264: {
            LEP = input.ReadInt32();
            break;
          }
          case 272: {
            DEP = input.ReadInt32();
            break;
          }
          case 280: {
            WEI = input.ReadInt32();
            break;
          }
          case 288: {
            FEI = input.ReadInt32();
            break;
          }
          case 296: {
            SEI = input.ReadInt32();
            break;
          }
          case 304: {
            AEI = input.ReadInt32();
            break;
          }
          case 312: {
            LEI = input.ReadInt32();
            break;
          }
          case 320: {
            DEI = input.ReadInt32();
            break;
          }
          case 328: {
            WEE = input.ReadInt32();
            break;
          }
          case 336: {
            FEE = input.ReadInt32();
            break;
          }
          case 344: {
            SEE = input.ReadInt32();
            break;
          }
          case 352: {
            AEE = input.ReadInt32();
            break;
          }
          case 360: {
            LEE = input.ReadInt32();
            break;
          }
          case 368: {
            DEE = input.ReadInt32();
            break;
          }
          case 376: {
            WER = input.ReadInt32();
            break;
          }
          case 384: {
            FER = input.ReadInt32();
            break;
          }
          case 392: {
            SER = input.ReadInt32();
            break;
          }
          case 400: {
            AER = input.ReadInt32();
            break;
          }
          case 408: {
            LER = input.ReadInt32();
            break;
          }
          case 416: {
            DER = input.ReadInt32();
            break;
          }
          case 424: {
            ToughnessDamageAdjust = input.ReadInt32();
            break;
          }
          case 432: {
            Toughness = input.ReadInt32();
            break;
          }
          case 440: {
            Suppress = input.ReadInt32();
            break;
          }
          case 448: {
            NORMALDMG = input.ReadInt32();
            break;
          }
          case 456: {
            SKILLDMG = input.ReadInt32();
            break;
          }
          case 464: {
            ULTRADMG = input.ReadInt32();
            break;
          }
          case 472: {
            OTHERDMG = input.ReadInt32();
            break;
          }
          case 480: {
            RCDNORMALDMG = input.ReadInt32();
            break;
          }
          case 488: {
            RCDSKILLDMG = input.ReadInt32();
            break;
          }
          case 496: {
            RCDULTRADMG = input.ReadInt32();
            break;
          }
          case 504: {
            RCDOTHERDMG = input.ReadInt32();
            break;
          }
          case 512: {
            MARKDMG = input.ReadInt32();
            break;
          }
          case 520: {
            RCDMARKDMG = input.ReadInt32();
            break;
          }
          case 528: {
            SUMMONDMG = input.ReadInt32();
            break;
          }
          case 536: {
            RCDSUMMONDMG = input.ReadInt32();
            break;
          }
          case 544: {
            PROJECTILEDMG = input.ReadInt32();
            break;
          }
          case 552: {
            RCDPROJECTILEDMG = input.ReadInt32();
            break;
          }
          case 560: {
            GENDMG = input.ReadInt32();
            break;
          }
          case 568: {
            DMGPLUS = input.ReadInt32();
            break;
          }
          case 576: {
            FINALDMG = input.ReadInt32();
            break;
          }
          case 584: {
            FINALDMGPLUS = input.ReadInt32();
            break;
          }
          case 592: {
            WEERCD = input.ReadInt32();
            break;
          }
          case 600: {
            FEERCD = input.ReadInt32();
            break;
          }
          case 608: {
            SEERCD = input.ReadInt32();
            break;
          }
          case 616: {
            AEERCD = input.ReadInt32();
            break;
          }
          case 624: {
            LEERCD = input.ReadInt32();
            break;
          }
          case 632: {
            DEERCD = input.ReadInt32();
            break;
          }
          case 640: {
            GENDMGRCD = input.ReadInt32();
            break;
          }
          case 648: {
            DMGPLUSRCD = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_Attribute() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Attribute> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Attribute.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Attribute> list_ = new pbc::RepeatedField<global::Nova.Client.Attribute>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Attribute> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Attribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Attribute other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 AttributeLimit() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(AttributeLimit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Lower != other.Lower) return false;
      if (Upper != other.Upper) return false;
      if (IsLimited != other.IsLimited) 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 (Lower != 0) hash ^= Lower.GetHashCode();
      if (Upper != 0) hash ^= Upper.GetHashCode();
      if (IsLimited != false) hash ^= IsLimited.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.WriteInt32(Id);
      }
      if (Lower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Lower);
      }
      if (Upper != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Upper);
      }
      if (IsLimited != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsLimited);
      }
      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.WriteInt32(Id);
      }
      if (Lower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Lower);
      }
      if (Upper != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Upper);
      }
      if (IsLimited != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsLimited);
      }
      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.ComputeInt32Size(Id);
      }
      if (Lower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Lower);
      }
      if (Upper != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Upper);
      }
      if (IsLimited != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(AttributeLimit other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Lower != 0) {
        Lower = other.Lower;
      }
      if (other.Upper != 0) {
        Upper = other.Upper;
      }
      if (other.IsLimited != false) {
        IsLimited = other.IsLimited;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Lower = input.ReadInt32();
            break;
          }
          case 24: {
            Upper = input.ReadInt32();
            break;
          }
          case 32: {
            IsLimited = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 16: {
            Lower = input.ReadInt32();
            break;
          }
          case 24: {
            Upper = input.ReadInt32();
            break;
          }
          case 32: {
            IsLimited = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_AttributeLimit() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.AttributeLimit> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.AttributeLimit.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.AttributeLimit> list_ = new pbc::RepeatedField<global::Nova.Client.AttributeLimit>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.AttributeLimit> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_AttributeLimit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_AttributeLimit other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 BattlePass() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BattlePass(BattlePass other) : this() {
      iD_ = other.iD_;
      name_ = other.name_;
      startTime_ = other.startTime_;
      endTime_ = other.endTime_;
      luxuryProductId_ = other.luxuryProductId_;
      luxuryPrice_ = other.luxuryPrice_;
      luxuryBonusLevel_ = other.luxuryBonusLevel_;
      luxuryTid_ = other.luxuryTid_;
      luxuryQty_ = other.luxuryQty_;
      premiumProductId_ = other.premiumProductId_;
      premiumPrice_ = other.premiumPrice_;
      premiumTid_ = other.premiumTid_;
      premiumQty_ = other.premiumQty_;
      complementaryProductId_ = other.complementaryProductId_;
      complementaryPrice_ = other.complementaryPrice_;
      complementaryTid_ = other.complementaryTid_;
      complementaryQty_ = other.complementaryQty_;
      cover_ = other.cover_;
      premiumShowItems_ = other.premiumShowItems_.Clone();
      luxuryShowItems_ = other.luxuryShowItems_.Clone();
      outfitPackageShowItem_ = other.outfitPackageShowItem_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "PremiumShowItems" field.</summary>
    public const int PremiumShowItemsFieldNumber = 19;
    private static readonly pb::FieldCodec<int> _repeated_premiumShowItems_codec
        = pb::FieldCodec.ForInt32(154);
    private readonly pbc::RepeatedField<int> premiumShowItems_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PremiumShowItems {
      get { return premiumShowItems_; }
    }

    /// <summary>Field number for the "LuxuryShowItems" field.</summary>
    public const int LuxuryShowItemsFieldNumber = 20;
    private static readonly pb::FieldCodec<int> _repeated_luxuryShowItems_codec
        = pb::FieldCodec.ForInt32(162);
    private readonly pbc::RepeatedField<int> luxuryShowItems_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> LuxuryShowItems {
      get { return luxuryShowItems_; }
    }

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BattlePass other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ID != other.ID) return false;
      if (Name != other.Name) return false;
      if (StartTime != other.StartTime) return false;
      if (EndTime != other.EndTime) return false;
      if (LuxuryProductId != other.LuxuryProductId) return false;
      if (LuxuryPrice != other.LuxuryPrice) return false;
      if (LuxuryBonusLevel != other.LuxuryBonusLevel) return false;
      if (LuxuryTid != other.LuxuryTid) return false;
      if (LuxuryQty != other.LuxuryQty) return false;
      if (PremiumProductId != other.PremiumProductId) return false;
      if (PremiumPrice != other.PremiumPrice) return false;
      if (PremiumTid != other.PremiumTid) return false;
      if (PremiumQty != other.PremiumQty) return false;
      if (ComplementaryProductId != other.ComplementaryProductId) return false;
      if (ComplementaryPrice != other.ComplementaryPrice) return false;
      if (ComplementaryTid != other.ComplementaryTid) return false;
      if (ComplementaryQty != other.ComplementaryQty) return false;
      if (Cover != other.Cover) return false;
      if(!premiumShowItems_.Equals(other.premiumShowItems_)) return false;
      if(!luxuryShowItems_.Equals(other.luxuryShowItems_)) return false;
      if (OutfitPackageShowItem != other.OutfitPackageShowItem) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (StartTime.Length != 0) hash ^= StartTime.GetHashCode();
      if (EndTime.Length != 0) hash ^= EndTime.GetHashCode();
      if (LuxuryProductId.Length != 0) hash ^= LuxuryProductId.GetHashCode();
      if (LuxuryPrice != 0) hash ^= LuxuryPrice.GetHashCode();
      if (LuxuryBonusLevel != 0) hash ^= LuxuryBonusLevel.GetHashCode();
      if (LuxuryTid != 0) hash ^= LuxuryTid.GetHashCode();
      if (LuxuryQty != 0) hash ^= LuxuryQty.GetHashCode();
      if (PremiumProductId.Length != 0) hash ^= PremiumProductId.GetHashCode();
      if (PremiumPrice != 0) hash ^= PremiumPrice.GetHashCode();
      if (PremiumTid != 0) hash ^= PremiumTid.GetHashCode();
      if (PremiumQty != 0) hash ^= PremiumQty.GetHashCode();
      if (ComplementaryProductId.Length != 0) hash ^= ComplementaryProductId.GetHashCode();
      if (ComplementaryPrice != 0) hash ^= ComplementaryPrice.GetHashCode();
      if (ComplementaryTid != 0) hash ^= ComplementaryTid.GetHashCode();
      if (ComplementaryQty != 0) hash ^= ComplementaryQty.GetHashCode();
      if (Cover.Length != 0) hash ^= Cover.GetHashCode();
      hash ^= premiumShowItems_.GetHashCode();
      hash ^= luxuryShowItems_.GetHashCode();
      if (OutfitPackageShowItem != 0) hash ^= OutfitPackageShowItem.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.WriteInt32(ID);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (StartTime.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(StartTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(EndTime);
      }
      if (LuxuryProductId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(LuxuryProductId);
      }
      if (LuxuryPrice != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(LuxuryPrice);
      }
      if (LuxuryBonusLevel != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(LuxuryBonusLevel);
      }
      if (LuxuryTid != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(LuxuryTid);
      }
      if (LuxuryQty != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(LuxuryQty);
      }
      if (PremiumProductId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(PremiumProductId);
      }
      if (PremiumPrice != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(PremiumPrice);
      }
      if (PremiumTid != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(PremiumTid);
      }
      if (PremiumQty != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(PremiumQty);
      }
      if (ComplementaryProductId.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(ComplementaryProductId);
      }
      if (ComplementaryPrice != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ComplementaryPrice);
      }
      if (ComplementaryTid != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ComplementaryTid);
      }
      if (ComplementaryQty != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ComplementaryQty);
      }
      if (Cover.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Cover);
      }
      premiumShowItems_.WriteTo(output, _repeated_premiumShowItems_codec);
      luxuryShowItems_.WriteTo(output, _repeated_luxuryShowItems_codec);
      if (OutfitPackageShowItem != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(OutfitPackageShowItem);
      }
      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.WriteInt32(ID);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (StartTime.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(StartTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(EndTime);
      }
      if (LuxuryProductId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(LuxuryProductId);
      }
      if (LuxuryPrice != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(LuxuryPrice);
      }
      if (LuxuryBonusLevel != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(LuxuryBonusLevel);
      }
      if (LuxuryTid != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(LuxuryTid);
      }
      if (LuxuryQty != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(LuxuryQty);
      }
      if (PremiumProductId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(PremiumProductId);
      }
      if (PremiumPrice != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(PremiumPrice);
      }
      if (PremiumTid != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(PremiumTid);
      }
      if (PremiumQty != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(PremiumQty);
      }
      if (ComplementaryProductId.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(ComplementaryProductId);
      }
      if (ComplementaryPrice != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ComplementaryPrice);
      }
      if (ComplementaryTid != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ComplementaryTid);
      }
      if (ComplementaryQty != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ComplementaryQty);
      }
      if (Cover.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Cover);
      }
      premiumShowItems_.WriteTo(ref output, _repeated_premiumShowItems_codec);
      luxuryShowItems_.WriteTo(ref output, _repeated_luxuryShowItems_codec);
      if (OutfitPackageShowItem != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(OutfitPackageShowItem);
      }
      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.ComputeInt32Size(ID);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (StartTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StartTime);
      }
      if (EndTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndTime);
      }
      if (LuxuryProductId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LuxuryProductId);
      }
      if (LuxuryPrice != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LuxuryPrice);
      }
      if (LuxuryBonusLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LuxuryBonusLevel);
      }
      if (LuxuryTid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LuxuryTid);
      }
      if (LuxuryQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LuxuryQty);
      }
      if (PremiumProductId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PremiumProductId);
      }
      if (PremiumPrice != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PremiumPrice);
      }
      if (PremiumTid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PremiumTid);
      }
      if (PremiumQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PremiumQty);
      }
      if (ComplementaryProductId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ComplementaryProductId);
      }
      if (ComplementaryPrice != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ComplementaryPrice);
      }
      if (ComplementaryTid != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ComplementaryTid);
      }
      if (ComplementaryQty != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ComplementaryQty);
      }
      if (Cover.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Cover);
      }
      size += premiumShowItems_.CalculateSize(_repeated_premiumShowItems_codec);
      size += luxuryShowItems_.CalculateSize(_repeated_luxuryShowItems_codec);
      if (OutfitPackageShowItem != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(OutfitPackageShowItem);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BattlePass other) {
      if (other == null) {
        return;
      }
      if (other.ID != 0) {
        ID = other.ID;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.StartTime.Length != 0) {
        StartTime = other.StartTime;
      }
      if (other.EndTime.Length != 0) {
        EndTime = other.EndTime;
      }
      if (other.LuxuryProductId.Length != 0) {
        LuxuryProductId = other.LuxuryProductId;
      }
      if (other.LuxuryPrice != 0) {
        LuxuryPrice = other.LuxuryPrice;
      }
      if (other.LuxuryBonusLevel != 0) {
        LuxuryBonusLevel = other.LuxuryBonusLevel;
      }
      if (other.LuxuryTid != 0) {
        LuxuryTid = other.LuxuryTid;
      }
      if (other.LuxuryQty != 0) {
        LuxuryQty = other.LuxuryQty;
      }
      if (other.PremiumProductId.Length != 0) {
        PremiumProductId = other.PremiumProductId;
      }
      if (other.PremiumPrice != 0) {
        PremiumPrice = other.PremiumPrice;
      }
      if (other.PremiumTid != 0) {
        PremiumTid = other.PremiumTid;
      }
      if (other.PremiumQty != 0) {
        PremiumQty = other.PremiumQty;
      }
      if (other.ComplementaryProductId.Length != 0) {
        ComplementaryProductId = other.ComplementaryProductId;
      }
      if (other.ComplementaryPrice != 0) {
        ComplementaryPrice = other.ComplementaryPrice;
      }
      if (other.ComplementaryTid != 0) {
        ComplementaryTid = other.ComplementaryTid;
      }
      if (other.ComplementaryQty != 0) {
        ComplementaryQty = other.ComplementaryQty;
      }
      if (other.Cover.Length != 0) {
        Cover = other.Cover;
      }
      premiumShowItems_.Add(other.premiumShowItems_);
      luxuryShowItems_.Add(other.luxuryShowItems_);
      if (other.OutfitPackageShowItem != 0) {
        OutfitPackageShowItem = other.OutfitPackageShowItem;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            StartTime = input.ReadString();
            break;
          }
          case 34: {
            EndTime = input.ReadString();
            break;
          }
          case 42: {
            LuxuryProductId = input.ReadString();
            break;
          }
          case 48: {
            LuxuryPrice = input.ReadInt32();
            break;
          }
          case 56: {
            LuxuryBonusLevel = input.ReadInt32();
            break;
          }
          case 64: {
            LuxuryTid = input.ReadInt32();
            break;
          }
          case 72: {
            LuxuryQty = input.ReadInt32();
            break;
          }
          case 82: {
            PremiumProductId = input.ReadString();
            break;
          }
          case 88: {
            PremiumPrice = input.ReadInt32();
            break;
          }
          case 96: {
            PremiumTid = input.ReadInt32();
            break;
          }
          case 104: {
            PremiumQty = input.ReadInt32();
            break;
          }
          case 114: {
            ComplementaryProductId = input.ReadString();
            break;
          }
          case 120: {
            ComplementaryPrice = input.ReadInt32();
            break;
          }
          case 128: {
            ComplementaryTid = input.ReadInt32();
            break;
          }
          case 136: {
            ComplementaryQty = input.ReadInt32();
            break;
          }
          case 146: {
            Cover = input.ReadString();
            break;
          }
          case 154:
          case 152: {
            premiumShowItems_.AddEntriesFrom(input, _repeated_premiumShowItems_codec);
            break;
          }
          case 162:
          case 160: {
            luxuryShowItems_.AddEntriesFrom(input, _repeated_luxuryShowItems_codec);
            break;
          }
          case 168: {
            OutfitPackageShowItem = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            ID = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            StartTime = input.ReadString();
            break;
          }
          case 34: {
            EndTime = input.ReadString();
            break;
          }
          case 42: {
            LuxuryProductId = input.ReadString();
            break;
          }
          case 48: {
            LuxuryPrice = input.ReadInt32();
            break;
          }
          case 56: {
            LuxuryBonusLevel = input.ReadInt32();
            break;
          }
          case 64: {
            LuxuryTid = input.ReadInt32();
            break;
          }
          case 72: {
            LuxuryQty = input.ReadInt32();
            break;
          }
          case 82: {
            PremiumProductId = input.ReadString();
            break;
          }
          case 88: {
            PremiumPrice = input.ReadInt32();
            break;
          }
          case 96: {
            PremiumTid = input.ReadInt32();
            break;
          }
          case 104: {
            PremiumQty = input.ReadInt32();
            break;
          }
          case 114: {
            ComplementaryProductId = input.ReadString();
            break;
          }
          case 120: {
            ComplementaryPrice = input.ReadInt32();
            break;
          }
          case 128: {
            ComplementaryTid = input.ReadInt32();
            break;
          }
          case 136: {
            ComplementaryQty = input.ReadInt32();
            break;
          }
          case 146: {
            Cover = input.ReadString();
            break;
          }
          case 154:
          case 152: {
            premiumShowItems_.AddEntriesFrom(ref input, _repeated_premiumShowItems_codec);
            break;
          }
          case 162:
          case 160: {
            luxuryShowItems_.AddEntriesFrom(ref input, _repeated_luxuryShowItems_codec);
            break;
          }
          case 168: {
            OutfitPackageShowItem = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_BattlePass() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.BattlePass> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.BattlePass.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.BattlePass> list_ = new pbc::RepeatedField<global::Nova.Client.BattlePass>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.BattlePass> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_BattlePass other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_BattlePass other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 BattlePassLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BattlePassLevel(BattlePassLevel other) : this() {
      iD_ = other.iD_;
      exp_ = other.exp_;
      tid_ = other.tid_;
      qty_ = other.qty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BattlePassLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ID != other.ID) return false;
      if (Exp != other.Exp) return false;
      if (Tid != other.Tid) return false;
      if (Qty != other.Qty) 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 (Exp != 0) hash ^= Exp.GetHashCode();
      if (Tid != 0) hash ^= Tid.GetHashCode();
      if (Qty != 0) hash ^= Qty.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.WriteInt32(ID);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      if (Tid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Tid);
      }
      if (Qty != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Qty);
      }
      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.WriteInt32(ID);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      if (Tid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Tid);
      }
      if (Qty != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Qty);
      }
      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.ComputeInt32Size(ID);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (Tid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid);
      }
      if (Qty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BattlePassLevel other) {
      if (other == null) {
        return;
      }
      if (other.ID != 0) {
        ID = other.ID;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      if (other.Tid != 0) {
        Tid = other.Tid;
      }
      if (other.Qty != 0) {
        Qty = other.Qty;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Exp = input.ReadInt32();
            break;
          }
          case 24: {
            Tid = input.ReadInt32();
            break;
          }
          case 32: {
            Qty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 table_BattlePassLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.BattlePassLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.BattlePassLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.BattlePassLevel> list_ = new pbc::RepeatedField<global::Nova.Client.BattlePassLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.BattlePassLevel> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_BattlePassLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_BattlePassLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 BattlePassQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BattlePassQuest(BattlePassQuest other) : this() {
      id_ = other.id_;
      type_ = other.type_;
      title_ = other.title_;
      jumpTo_ = other.jumpTo_;
      exp_ = other.exp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BattlePassQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Type != other.Type) return false;
      if (Title != other.Title) return false;
      if (JumpTo != other.JumpTo) return false;
      if (Exp != other.Exp) 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 (Type != 0) hash ^= Type.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (Exp != 0) hash ^= Exp.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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Exp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Exp);
      }
      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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Exp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Exp);
      }
      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.ComputeInt32Size(Id);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BattlePassQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 32: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 40: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 table_BattlePassQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.BattlePassQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.BattlePassQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.BattlePassQuest> list_ = new pbc::RepeatedField<global::Nova.Client.BattlePassQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.BattlePassQuest> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_BattlePassQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_BattlePassQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 BattlePassReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BattlePassReward(BattlePassReward other) : this() {
      iD_ = other.iD_;
      level_ = other.level_;
      tid1_ = other.tid1_;
      qty1_ = other.qty1_;
      tid2_ = other.tid2_;
      qty2_ = other.qty2_;
      tid3_ = other.tid3_;
      qty3_ = other.qty3_;
      focus_ = other.focus_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BattlePassReward 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 (Tid1 != other.Tid1) return false;
      if (Qty1 != other.Qty1) return false;
      if (Tid2 != other.Tid2) return false;
      if (Qty2 != other.Qty2) return false;
      if (Tid3 != other.Tid3) return false;
      if (Qty3 != other.Qty3) return false;
      if (Focus != other.Focus) 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 (Tid1 != 0) hash ^= Tid1.GetHashCode();
      if (Qty1 != 0) hash ^= Qty1.GetHashCode();
      if (Tid2 != 0) hash ^= Tid2.GetHashCode();
      if (Qty2 != 0) hash ^= Qty2.GetHashCode();
      if (Tid3 != 0) hash ^= Tid3.GetHashCode();
      if (Qty3 != 0) hash ^= Qty3.GetHashCode();
      if (Focus != false) hash ^= Focus.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.WriteInt32(ID);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Level);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Qty3);
      }
      if (Focus != false) {
        output.WriteRawTag(72);
        output.WriteBool(Focus);
      }
      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.WriteInt32(ID);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Level);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Qty3);
      }
      if (Focus != false) {
        output.WriteRawTag(72);
        output.WriteBool(Focus);
      }
      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.ComputeInt32Size(ID);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Tid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid1);
      }
      if (Qty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty1);
      }
      if (Tid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid2);
      }
      if (Qty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty2);
      }
      if (Tid3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid3);
      }
      if (Qty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty3);
      }
      if (Focus != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BattlePassReward other) {
      if (other == null) {
        return;
      }
      if (other.ID != 0) {
        ID = other.ID;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Tid1 != 0) {
        Tid1 = other.Tid1;
      }
      if (other.Qty1 != 0) {
        Qty1 = other.Qty1;
      }
      if (other.Tid2 != 0) {
        Tid2 = other.Tid2;
      }
      if (other.Qty2 != 0) {
        Qty2 = other.Qty2;
      }
      if (other.Tid3 != 0) {
        Tid3 = other.Tid3;
      }
      if (other.Qty3 != 0) {
        Qty3 = other.Qty3;
      }
      if (other.Focus != false) {
        Focus = other.Focus;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Level = input.ReadInt32();
            break;
          }
          case 24: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 32: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 40: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 48: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 56: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 64: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 72: {
            Focus = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 16: {
            Level = input.ReadInt32();
            break;
          }
          case 24: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 32: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 40: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 48: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 56: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 64: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 72: {
            Focus = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_BattlePassReward() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.BattlePassReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.BattlePassReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.BattlePassReward> list_ = new pbc::RepeatedField<global::Nova.Client.BattlePassReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.BattlePassReward> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_BattlePassReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_BattlePassReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 BattleThreshold() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BattleThreshold(BattleThreshold other) : this() {
      missionId_ = other.missionId_;
      version_ = other.version_;
      fromSrcAtk_ = other.fromSrcAtk_;
      fromPerkIntensityRatio_ = other.fromPerkIntensityRatio_;
      fromSlotDmgRatio_ = other.fromSlotDmgRatio_;
      fromEE_ = other.fromEE_;
      fromGenDmgRatio_ = other.fromGenDmgRatio_;
      fromDmgPlus_ = other.fromDmgPlus_;
      fromCritRatio_ = other.fromCritRatio_;
      fromFinalDmgRatio_ = other.fromFinalDmgRatio_;
      fromFinalDmgPlus_ = other.fromFinalDmgPlus_;
      toErAmend_ = other.toErAmend_;
      toDefAmend_ = other.toDefAmend_;
      toRcdSlotDmgRatio_ = other.toRcdSlotDmgRatio_;
      toEERCD_ = other.toEERCD_;
      toGenDmgRcdRatio_ = other.toGenDmgRcdRatio_;
      toDmgPlusRcd_ = other.toDmgPlusRcd_;
      dmg_ = other.dmg_;
      critRate_ = other.critRate_;
      hp_ = other.hp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "toErAmend" field.</summary>
    public const int ToErAmendFieldNumber = 12;
    private int toErAmend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToErAmend {
      get { return toErAmend_; }
      set {
        toErAmend_ = value;
      }
    }

    /// <summary>Field number for the "toDefAmend" field.</summary>
    public const int ToDefAmendFieldNumber = 13;
    private int toDefAmend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToDefAmend {
      get { return toDefAmend_; }
      set {
        toDefAmend_ = value;
      }
    }

    /// <summary>Field number for the "toRcdSlotDmgRatio" field.</summary>
    public const int ToRcdSlotDmgRatioFieldNumber = 14;
    private int toRcdSlotDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToRcdSlotDmgRatio {
      get { return toRcdSlotDmgRatio_; }
      set {
        toRcdSlotDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "toEERCD" field.</summary>
    public const int ToEERCDFieldNumber = 15;
    private int toEERCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToEERCD {
      get { return toEERCD_; }
      set {
        toEERCD_ = value;
      }
    }

    /// <summary>Field number for the "toGenDmgRcdRatio" field.</summary>
    public const int ToGenDmgRcdRatioFieldNumber = 16;
    private int toGenDmgRcdRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToGenDmgRcdRatio {
      get { return toGenDmgRcdRatio_; }
      set {
        toGenDmgRcdRatio_ = value;
      }
    }

    /// <summary>Field number for the "toDmgPlusRcd" field.</summary>
    public const int ToDmgPlusRcdFieldNumber = 17;
    private int toDmgPlusRcd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToDmgPlusRcd {
      get { return toDmgPlusRcd_; }
      set {
        toDmgPlusRcd_ = value;
      }
    }

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BattleThreshold other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MissionId != other.MissionId) return false;
      if (Version != other.Version) return false;
      if (FromSrcAtk != other.FromSrcAtk) return false;
      if (FromPerkIntensityRatio != other.FromPerkIntensityRatio) return false;
      if (FromSlotDmgRatio != other.FromSlotDmgRatio) return false;
      if (FromEE != other.FromEE) return false;
      if (FromGenDmgRatio != other.FromGenDmgRatio) return false;
      if (FromDmgPlus != other.FromDmgPlus) return false;
      if (FromCritRatio != other.FromCritRatio) return false;
      if (FromFinalDmgRatio != other.FromFinalDmgRatio) return false;
      if (FromFinalDmgPlus != other.FromFinalDmgPlus) return false;
      if (ToErAmend != other.ToErAmend) return false;
      if (ToDefAmend != other.ToDefAmend) return false;
      if (ToRcdSlotDmgRatio != other.ToRcdSlotDmgRatio) return false;
      if (ToEERCD != other.ToEERCD) return false;
      if (ToGenDmgRcdRatio != other.ToGenDmgRcdRatio) return false;
      if (ToDmgPlusRcd != other.ToDmgPlusRcd) return false;
      if (Dmg != other.Dmg) return false;
      if (CritRate != other.CritRate) return false;
      if (Hp != other.Hp) 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 (MissionId != 0) hash ^= MissionId.GetHashCode();
      if (Version != 0) hash ^= Version.GetHashCode();
      if (FromSrcAtk != 0) hash ^= FromSrcAtk.GetHashCode();
      if (FromPerkIntensityRatio != 0) hash ^= FromPerkIntensityRatio.GetHashCode();
      if (FromSlotDmgRatio != 0) hash ^= FromSlotDmgRatio.GetHashCode();
      if (FromEE != 0) hash ^= FromEE.GetHashCode();
      if (FromGenDmgRatio != 0) hash ^= FromGenDmgRatio.GetHashCode();
      if (FromDmgPlus != 0) hash ^= FromDmgPlus.GetHashCode();
      if (FromCritRatio != 0) hash ^= FromCritRatio.GetHashCode();
      if (FromFinalDmgRatio != 0) hash ^= FromFinalDmgRatio.GetHashCode();
      if (FromFinalDmgPlus != 0) hash ^= FromFinalDmgPlus.GetHashCode();
      if (ToErAmend != 0) hash ^= ToErAmend.GetHashCode();
      if (ToDefAmend != 0) hash ^= ToDefAmend.GetHashCode();
      if (ToRcdSlotDmgRatio != 0) hash ^= ToRcdSlotDmgRatio.GetHashCode();
      if (ToEERCD != 0) hash ^= ToEERCD.GetHashCode();
      if (ToGenDmgRcdRatio != 0) hash ^= ToGenDmgRcdRatio.GetHashCode();
      if (ToDmgPlusRcd != 0) hash ^= ToDmgPlusRcd.GetHashCode();
      if (Dmg != 0) hash ^= Dmg.GetHashCode();
      if (CritRate != 0) hash ^= CritRate.GetHashCode();
      if (Hp != 0) hash ^= Hp.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 (MissionId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MissionId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Version);
      }
      if (FromSrcAtk != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ToErAmend);
      }
      if (ToDefAmend != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Dmg);
      }
      if (CritRate != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(CritRate);
      }
      if (Hp != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Hp);
      }
      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 (MissionId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MissionId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Version);
      }
      if (FromSrcAtk != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ToErAmend);
      }
      if (ToDefAmend != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Dmg);
      }
      if (CritRate != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(CritRate);
      }
      if (Hp != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Hp);
      }
      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 (MissionId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MissionId);
      }
      if (Version != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version);
      }
      if (FromSrcAtk != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToErAmend);
      }
      if (ToDefAmend != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Dmg);
      }
      if (CritRate != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CritRate);
      }
      if (Hp != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Hp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BattleThreshold other) {
      if (other == null) {
        return;
      }
      if (other.MissionId != 0) {
        MissionId = other.MissionId;
      }
      if (other.Version != 0) {
        Version = other.Version;
      }
      if (other.FromSrcAtk != 0) {
        FromSrcAtk = other.FromSrcAtk;
      }
      if (other.FromPerkIntensityRatio != 0) {
        FromPerkIntensityRatio = other.FromPerkIntensityRatio;
      }
      if (other.FromSlotDmgRatio != 0) {
        FromSlotDmgRatio = other.FromSlotDmgRatio;
      }
      if (other.FromEE != 0) {
        FromEE = other.FromEE;
      }
      if (other.FromGenDmgRatio != 0) {
        FromGenDmgRatio = other.FromGenDmgRatio;
      }
      if (other.FromDmgPlus != 0) {
        FromDmgPlus = other.FromDmgPlus;
      }
      if (other.FromCritRatio != 0) {
        FromCritRatio = other.FromCritRatio;
      }
      if (other.FromFinalDmgRatio != 0) {
        FromFinalDmgRatio = other.FromFinalDmgRatio;
      }
      if (other.FromFinalDmgPlus != 0) {
        FromFinalDmgPlus = other.FromFinalDmgPlus;
      }
      if (other.ToErAmend != 0) {
        ToErAmend = other.ToErAmend;
      }
      if (other.ToDefAmend != 0) {
        ToDefAmend = other.ToDefAmend;
      }
      if (other.ToRcdSlotDmgRatio != 0) {
        ToRcdSlotDmgRatio = other.ToRcdSlotDmgRatio;
      }
      if (other.ToEERCD != 0) {
        ToEERCD = other.ToEERCD;
      }
      if (other.ToGenDmgRcdRatio != 0) {
        ToGenDmgRcdRatio = other.ToGenDmgRcdRatio;
      }
      if (other.ToDmgPlusRcd != 0) {
        ToDmgPlusRcd = other.ToDmgPlusRcd;
      }
      if (other.Dmg != 0) {
        Dmg = other.Dmg;
      }
      if (other.CritRate != 0) {
        CritRate = other.CritRate;
      }
      if (other.Hp != 0) {
        Hp = other.Hp;
      }
      _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: {
            MissionId = input.ReadInt32();
            break;
          }
          case 16: {
            Version = input.ReadInt32();
            break;
          }
          case 24: {
            FromSrcAtk = input.ReadInt32();
            break;
          }
          case 32: {
            FromPerkIntensityRatio = input.ReadInt32();
            break;
          }
          case 40: {
            FromSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 48: {
            FromEE = input.ReadInt32();
            break;
          }
          case 56: {
            FromGenDmgRatio = input.ReadInt32();
            break;
          }
          case 64: {
            FromDmgPlus = input.ReadInt32();
            break;
          }
          case 72: {
            FromCritRatio = input.ReadInt32();
            break;
          }
          case 80: {
            FromFinalDmgRatio = input.ReadInt32();
            break;
          }
          case 88: {
            FromFinalDmgPlus = input.ReadInt32();
            break;
          }
          case 96: {
            ToErAmend = input.ReadInt32();
            break;
          }
          case 104: {
            ToDefAmend = input.ReadInt32();
            break;
          }
          case 112: {
            ToRcdSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 120: {
            ToEERCD = input.ReadInt32();
            break;
          }
          case 128: {
            ToGenDmgRcdRatio = input.ReadInt32();
            break;
          }
          case 136: {
            ToDmgPlusRcd = input.ReadInt32();
            break;
          }
          case 144: {
            Dmg = input.ReadInt32();
            break;
          }
          case 152: {
            CritRate = input.ReadInt32();
            break;
          }
          case 160: {
            Hp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            MissionId = input.ReadInt32();
            break;
          }
          case 16: {
            Version = input.ReadInt32();
            break;
          }
          case 24: {
            FromSrcAtk = input.ReadInt32();
            break;
          }
          case 32: {
            FromPerkIntensityRatio = input.ReadInt32();
            break;
          }
          case 40: {
            FromSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 48: {
            FromEE = input.ReadInt32();
            break;
          }
          case 56: {
            FromGenDmgRatio = input.ReadInt32();
            break;
          }
          case 64: {
            FromDmgPlus = input.ReadInt32();
            break;
          }
          case 72: {
            FromCritRatio = input.ReadInt32();
            break;
          }
          case 80: {
            FromFinalDmgRatio = input.ReadInt32();
            break;
          }
          case 88: {
            FromFinalDmgPlus = input.ReadInt32();
            break;
          }
          case 96: {
            ToErAmend = input.ReadInt32();
            break;
          }
          case 104: {
            ToDefAmend = input.ReadInt32();
            break;
          }
          case 112: {
            ToRcdSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 120: {
            ToEERCD = input.ReadInt32();
            break;
          }
          case 128: {
            ToGenDmgRcdRatio = input.ReadInt32();
            break;
          }
          case 136: {
            ToDmgPlusRcd = input.ReadInt32();
            break;
          }
          case 144: {
            Dmg = input.ReadInt32();
            break;
          }
          case 152: {
            CritRate = input.ReadInt32();
            break;
          }
          case 160: {
            Hp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_BattleThreshold() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.BattleThreshold> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.BattleThreshold.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.BattleThreshold> list_ = new pbc::RepeatedField<global::Nova.Client.BattleThreshold>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.BattleThreshold> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_BattleThreshold other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_BattleThreshold other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 BoardNPC() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BoardNPC other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Alias != other.Alias) return false;
      if (DefaultSkinId != other.DefaultSkinId) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Alias.Length != 0) hash ^= Alias.GetHashCode();
      if (DefaultSkinId != 0) hash ^= DefaultSkinId.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Alias.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Alias);
      }
      if (DefaultSkinId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(DefaultSkinId);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Alias.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Alias);
      }
      if (DefaultSkinId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(DefaultSkinId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Alias.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Alias);
      }
      if (DefaultSkinId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DefaultSkinId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BoardNPC other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Alias.Length != 0) {
        Alias = other.Alias;
      }
      if (other.DefaultSkinId != 0) {
        DefaultSkinId = other.DefaultSkinId;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Alias = input.ReadString();
            break;
          }
          case 32: {
            DefaultSkinId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 table_BoardNPC() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.BoardNPC> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.BoardNPC.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.BoardNPC> list_ = new pbc::RepeatedField<global::Nova.Client.BoardNPC>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.BoardNPC> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_BoardNPC other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_BoardNPC other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 Buff() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Buff(Buff other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      levelTypeData_ = other.levelTypeData_;
      levelData_ = other.levelData_;
      mainOrSupport_ = other.mainOrSupport_;
      groupId_ = other.groupId_;
      reduceTime_ = other.reduceTime_;
      buffTag1_ = other.buffTag1_;
      buffTag2_ = other.buffTag2_;
      buffTag3_ = other.buffTag3_;
      buffTag4_ = other.buffTag4_;
      buffTag5_ = other.buffTag5_;
      bindEffect_ = other.bindEffect_;
      icon_ = other.icon_;
      isShow_ = other.isShow_;
      topofHeadEffect_ = other.topofHeadEffect_;
      buffNumEffectLevel_ = other.buffNumEffectLevel_.Clone();
      notRemove_ = other.notRemove_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "IsShow" field.</summary>
    public const int IsShowFieldNumber = 15;
    private bool isShow_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsShow {
      get { return isShow_; }
      set {
        isShow_ = value;
      }
    }

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

    /// <summary>Field number for the "BuffNumEffectLevel" field.</summary>
    public const int BuffNumEffectLevelFieldNumber = 17;
    private static readonly pb::FieldCodec<int> _repeated_buffNumEffectLevel_codec
        = pb::FieldCodec.ForInt32(138);
    private readonly pbc::RepeatedField<int> buffNumEffectLevel_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BuffNumEffectLevel {
      get { return buffNumEffectLevel_; }
    }

    /// <summary>Field number for the "NotRemove" field.</summary>
    public const int NotRemoveFieldNumber = 18;
    private bool notRemove_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool NotRemove {
      get { return notRemove_; }
      set {
        notRemove_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Buff other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (LevelTypeData != other.LevelTypeData) return false;
      if (LevelData != other.LevelData) return false;
      if (MainOrSupport != other.MainOrSupport) return false;
      if (GroupId != other.GroupId) return false;
      if (ReduceTime != other.ReduceTime) return false;
      if (BuffTag1 != other.BuffTag1) return false;
      if (BuffTag2 != other.BuffTag2) return false;
      if (BuffTag3 != other.BuffTag3) return false;
      if (BuffTag4 != other.BuffTag4) return false;
      if (BuffTag5 != other.BuffTag5) return false;
      if (BindEffect != other.BindEffect) return false;
      if (Icon != other.Icon) return false;
      if (IsShow != other.IsShow) return false;
      if (TopofHeadEffect != other.TopofHeadEffect) return false;
      if(!buffNumEffectLevel_.Equals(other.buffNumEffectLevel_)) return false;
      if (NotRemove != other.NotRemove) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (LevelTypeData != 0) hash ^= LevelTypeData.GetHashCode();
      if (LevelData != 0) hash ^= LevelData.GetHashCode();
      if (MainOrSupport != 0) hash ^= MainOrSupport.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (ReduceTime != 0) hash ^= ReduceTime.GetHashCode();
      if (BuffTag1 != 0) hash ^= BuffTag1.GetHashCode();
      if (BuffTag2 != 0) hash ^= BuffTag2.GetHashCode();
      if (BuffTag3 != 0) hash ^= BuffTag3.GetHashCode();
      if (BuffTag4 != 0) hash ^= BuffTag4.GetHashCode();
      if (BuffTag5 != 0) hash ^= BuffTag5.GetHashCode();
      if (BindEffect.Length != 0) hash ^= BindEffect.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (IsShow != false) hash ^= IsShow.GetHashCode();
      if (TopofHeadEffect.Length != 0) hash ^= TopofHeadEffect.GetHashCode();
      hash ^= buffNumEffectLevel_.GetHashCode();
      if (NotRemove != false) hash ^= NotRemove.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainOrSupport);
      }
      if (GroupId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GroupId);
      }
      if (ReduceTime != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ReduceTime);
      }
      if (BuffTag1 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(BuffTag1);
      }
      if (BuffTag2 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(BuffTag2);
      }
      if (BuffTag3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BuffTag3);
      }
      if (BuffTag4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(BuffTag4);
      }
      if (BuffTag5 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(BuffTag5);
      }
      if (BindEffect.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(BindEffect);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Icon);
      }
      if (IsShow != false) {
        output.WriteRawTag(120);
        output.WriteBool(IsShow);
      }
      if (TopofHeadEffect.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(TopofHeadEffect);
      }
      buffNumEffectLevel_.WriteTo(output, _repeated_buffNumEffectLevel_codec);
      if (NotRemove != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(NotRemove);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainOrSupport);
      }
      if (GroupId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GroupId);
      }
      if (ReduceTime != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ReduceTime);
      }
      if (BuffTag1 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(BuffTag1);
      }
      if (BuffTag2 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(BuffTag2);
      }
      if (BuffTag3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BuffTag3);
      }
      if (BuffTag4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(BuffTag4);
      }
      if (BuffTag5 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(BuffTag5);
      }
      if (BindEffect.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(BindEffect);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Icon);
      }
      if (IsShow != false) {
        output.WriteRawTag(120);
        output.WriteBool(IsShow);
      }
      if (TopofHeadEffect.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(TopofHeadEffect);
      }
      buffNumEffectLevel_.WriteTo(ref output, _repeated_buffNumEffectLevel_codec);
      if (NotRemove != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(NotRemove);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (LevelTypeData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTypeData);
      }
      if (LevelData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelData);
      }
      if (MainOrSupport != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainOrSupport);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (ReduceTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReduceTime);
      }
      if (BuffTag1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffTag1);
      }
      if (BuffTag2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffTag2);
      }
      if (BuffTag3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffTag3);
      }
      if (BuffTag4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffTag4);
      }
      if (BuffTag5 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffTag5);
      }
      if (BindEffect.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BindEffect);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (IsShow != false) {
        size += 1 + 1;
      }
      if (TopofHeadEffect.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TopofHeadEffect);
      }
      size += buffNumEffectLevel_.CalculateSize(_repeated_buffNumEffectLevel_codec);
      if (NotRemove != false) {
        size += 2 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Buff other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.LevelTypeData != 0) {
        LevelTypeData = other.LevelTypeData;
      }
      if (other.LevelData != 0) {
        LevelData = other.LevelData;
      }
      if (other.MainOrSupport != 0) {
        MainOrSupport = other.MainOrSupport;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.ReduceTime != 0) {
        ReduceTime = other.ReduceTime;
      }
      if (other.BuffTag1 != 0) {
        BuffTag1 = other.BuffTag1;
      }
      if (other.BuffTag2 != 0) {
        BuffTag2 = other.BuffTag2;
      }
      if (other.BuffTag3 != 0) {
        BuffTag3 = other.BuffTag3;
      }
      if (other.BuffTag4 != 0) {
        BuffTag4 = other.BuffTag4;
      }
      if (other.BuffTag5 != 0) {
        BuffTag5 = other.BuffTag5;
      }
      if (other.BindEffect.Length != 0) {
        BindEffect = other.BindEffect;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.IsShow != false) {
        IsShow = other.IsShow;
      }
      if (other.TopofHeadEffect.Length != 0) {
        TopofHeadEffect = other.TopofHeadEffect;
      }
      buffNumEffectLevel_.Add(other.buffNumEffectLevel_);
      if (other.NotRemove != false) {
        NotRemove = other.NotRemove;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 32: {
            LevelData = input.ReadInt32();
            break;
          }
          case 40: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 48: {
            GroupId = input.ReadInt32();
            break;
          }
          case 56: {
            ReduceTime = input.ReadInt32();
            break;
          }
          case 64: {
            BuffTag1 = input.ReadInt32();
            break;
          }
          case 72: {
            BuffTag2 = input.ReadInt32();
            break;
          }
          case 80: {
            BuffTag3 = input.ReadInt32();
            break;
          }
          case 88: {
            BuffTag4 = input.ReadInt32();
            break;
          }
          case 96: {
            BuffTag5 = input.ReadInt32();
            break;
          }
          case 106: {
            BindEffect = input.ReadString();
            break;
          }
          case 114: {
            Icon = input.ReadString();
            break;
          }
          case 120: {
            IsShow = input.ReadBool();
            break;
          }
          case 130: {
            TopofHeadEffect = input.ReadString();
            break;
          }
          case 138:
          case 136: {
            buffNumEffectLevel_.AddEntriesFrom(input, _repeated_buffNumEffectLevel_codec);
            break;
          }
          case 144: {
            NotRemove = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 32: {
            LevelData = input.ReadInt32();
            break;
          }
          case 40: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 48: {
            GroupId = input.ReadInt32();
            break;
          }
          case 56: {
            ReduceTime = input.ReadInt32();
            break;
          }
          case 64: {
            BuffTag1 = input.ReadInt32();
            break;
          }
          case 72: {
            BuffTag2 = input.ReadInt32();
            break;
          }
          case 80: {
            BuffTag3 = input.ReadInt32();
            break;
          }
          case 88: {
            BuffTag4 = input.ReadInt32();
            break;
          }
          case 96: {
            BuffTag5 = input.ReadInt32();
            break;
          }
          case 106: {
            BindEffect = input.ReadString();
            break;
          }
          case 114: {
            Icon = input.ReadString();
            break;
          }
          case 120: {
            IsShow = input.ReadBool();
            break;
          }
          case 130: {
            TopofHeadEffect = input.ReadString();
            break;
          }
          case 138:
          case 136: {
            buffNumEffectLevel_.AddEntriesFrom(ref input, _repeated_buffNumEffectLevel_codec);
            break;
          }
          case 144: {
            NotRemove = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_Buff() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Buff> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Buff.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Buff> list_ = new pbc::RepeatedField<global::Nova.Client.Buff>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Buff> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Buff other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Buff other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 BuffValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public BuffValue(BuffValue other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      sort_ = other.sort_;
      buffEffects_ = other.buffEffects_.Clone();
      time_ = other.time_;
      laminatedNum_ = other.laminatedNum_;
      num_ = other.num_;
      timeSuperposition_ = other.timeSuperposition_;
      timing_ = other.timing_;
      replaceType_ = other.replaceType_;
      attackClear_ = other.attackClear_;
      hitClear_ = other.hitClear_;
      isInherit_ = other.isInherit_;
      isExitDelete_ = other.isExitDelete_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

    /// <summary>Field number for the "BuffEffects" field.</summary>
    public const int BuffEffectsFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_buffEffects_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> buffEffects_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BuffEffects {
      get { return buffEffects_; }
    }

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

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

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

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

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

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

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

    /// <summary>Field number for the "HitClear" field.</summary>
    public const int HitClearFieldNumber = 12;
    private bool hitClear_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HitClear {
      get { return hitClear_; }
      set {
        hitClear_ = value;
      }
    }

    /// <summary>Field number for the "IsInherit" field.</summary>
    public const int IsInheritFieldNumber = 13;
    private bool isInherit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsInherit {
      get { return isInherit_; }
      set {
        isInherit_ = value;
      }
    }

    /// <summary>Field number for the "IsExitDelete" field.</summary>
    public const int IsExitDeleteFieldNumber = 14;
    private bool isExitDelete_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsExitDelete {
      get { return isExitDelete_; }
      set {
        isExitDelete_ = value;
      }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(BuffValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Sort != other.Sort) return false;
      if(!buffEffects_.Equals(other.buffEffects_)) return false;
      if (Time != other.Time) return false;
      if (LaminatedNum != other.LaminatedNum) return false;
      if (Num != other.Num) return false;
      if (TimeSuperposition != other.TimeSuperposition) return false;
      if (Timing != other.Timing) return false;
      if (ReplaceType != other.ReplaceType) return false;
      if (AttackClear != other.AttackClear) return false;
      if (HitClear != other.HitClear) return false;
      if (IsInherit != other.IsInherit) return false;
      if (IsExitDelete != other.IsExitDelete) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      hash ^= buffEffects_.GetHashCode();
      if (Time != 0) hash ^= Time.GetHashCode();
      if (LaminatedNum != 0) hash ^= LaminatedNum.GetHashCode();
      if (Num != 0) hash ^= Num.GetHashCode();
      if (TimeSuperposition != 0) hash ^= TimeSuperposition.GetHashCode();
      if (Timing != 0) hash ^= Timing.GetHashCode();
      if (ReplaceType != false) hash ^= ReplaceType.GetHashCode();
      if (AttackClear != false) hash ^= AttackClear.GetHashCode();
      if (HitClear != false) hash ^= HitClear.GetHashCode();
      if (IsInherit != false) hash ^= IsInherit.GetHashCode();
      if (IsExitDelete != false) hash ^= IsExitDelete.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Sort != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Sort);
      }
      buffEffects_.WriteTo(output, _repeated_buffEffects_codec);
      if (Time != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Time);
      }
      if (LaminatedNum != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(LaminatedNum);
      }
      if (Num != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Num);
      }
      if (TimeSuperposition != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(TimeSuperposition);
      }
      if (Timing != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Timing);
      }
      if (ReplaceType != false) {
        output.WriteRawTag(80);
        output.WriteBool(ReplaceType);
      }
      if (AttackClear != false) {
        output.WriteRawTag(88);
        output.WriteBool(AttackClear);
      }
      if (HitClear != false) {
        output.WriteRawTag(96);
        output.WriteBool(HitClear);
      }
      if (IsInherit != false) {
        output.WriteRawTag(104);
        output.WriteBool(IsInherit);
      }
      if (IsExitDelete != false) {
        output.WriteRawTag(112);
        output.WriteBool(IsExitDelete);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Sort != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Sort);
      }
      buffEffects_.WriteTo(ref output, _repeated_buffEffects_codec);
      if (Time != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Time);
      }
      if (LaminatedNum != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(LaminatedNum);
      }
      if (Num != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Num);
      }
      if (TimeSuperposition != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(TimeSuperposition);
      }
      if (Timing != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Timing);
      }
      if (ReplaceType != false) {
        output.WriteRawTag(80);
        output.WriteBool(ReplaceType);
      }
      if (AttackClear != false) {
        output.WriteRawTag(88);
        output.WriteBool(AttackClear);
      }
      if (HitClear != false) {
        output.WriteRawTag(96);
        output.WriteBool(HitClear);
      }
      if (IsInherit != false) {
        output.WriteRawTag(104);
        output.WriteBool(IsInherit);
      }
      if (IsExitDelete != false) {
        output.WriteRawTag(112);
        output.WriteBool(IsExitDelete);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      size += buffEffects_.CalculateSize(_repeated_buffEffects_codec);
      if (Time != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Time);
      }
      if (LaminatedNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LaminatedNum);
      }
      if (Num != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num);
      }
      if (TimeSuperposition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TimeSuperposition);
      }
      if (Timing != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Timing);
      }
      if (ReplaceType != false) {
        size += 1 + 1;
      }
      if (AttackClear != false) {
        size += 1 + 1;
      }
      if (HitClear != false) {
        size += 1 + 1;
      }
      if (IsInherit != false) {
        size += 1 + 1;
      }
      if (IsExitDelete != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(BuffValue other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      buffEffects_.Add(other.buffEffects_);
      if (other.Time != 0) {
        Time = other.Time;
      }
      if (other.LaminatedNum != 0) {
        LaminatedNum = other.LaminatedNum;
      }
      if (other.Num != 0) {
        Num = other.Num;
      }
      if (other.TimeSuperposition != 0) {
        TimeSuperposition = other.TimeSuperposition;
      }
      if (other.Timing != 0) {
        Timing = other.Timing;
      }
      if (other.ReplaceType != false) {
        ReplaceType = other.ReplaceType;
      }
      if (other.AttackClear != false) {
        AttackClear = other.AttackClear;
      }
      if (other.HitClear != false) {
        HitClear = other.HitClear;
      }
      if (other.IsInherit != false) {
        IsInherit = other.IsInherit;
      }
      if (other.IsExitDelete != false) {
        IsExitDelete = other.IsExitDelete;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Sort = input.ReadInt32();
            break;
          }
          case 34:
          case 32: {
            buffEffects_.AddEntriesFrom(input, _repeated_buffEffects_codec);
            break;
          }
          case 40: {
            Time = input.ReadInt32();
            break;
          }
          case 48: {
            LaminatedNum = input.ReadInt32();
            break;
          }
          case 56: {
            Num = input.ReadInt32();
            break;
          }
          case 64: {
            TimeSuperposition = input.ReadInt32();
            break;
          }
          case 72: {
            Timing = input.ReadInt32();
            break;
          }
          case 80: {
            ReplaceType = input.ReadBool();
            break;
          }
          case 88: {
            AttackClear = input.ReadBool();
            break;
          }
          case 96: {
            HitClear = input.ReadBool();
            break;
          }
          case 104: {
            IsInherit = input.ReadBool();
            break;
          }
          case 112: {
            IsExitDelete = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Sort = input.ReadInt32();
            break;
          }
          case 34:
          case 32: {
            buffEffects_.AddEntriesFrom(ref input, _repeated_buffEffects_codec);
            break;
          }
          case 40: {
            Time = input.ReadInt32();
            break;
          }
          case 48: {
            LaminatedNum = input.ReadInt32();
            break;
          }
          case 56: {
            Num = input.ReadInt32();
            break;
          }
          case 64: {
            TimeSuperposition = input.ReadInt32();
            break;
          }
          case 72: {
            Timing = input.ReadInt32();
            break;
          }
          case 80: {
            ReplaceType = input.ReadBool();
            break;
          }
          case 88: {
            AttackClear = input.ReadBool();
            break;
          }
          case 96: {
            HitClear = input.ReadBool();
            break;
          }
          case 104: {
            IsInherit = input.ReadBool();
            break;
          }
          case 112: {
            IsExitDelete = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_BuffValue() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.BuffValue> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.BuffValue.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.BuffValue> list_ = new pbc::RepeatedField<global::Nova.Client.BuffValue>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.BuffValue> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_BuffValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_BuffValue other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 Chapter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Chapter(Chapter other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      chapterType_ = other.chapterType_;
      worldClass_ = other.worldClass_;
      prevMainlines_ = other.prevMainlines_.Clone();
      completeRewards_ = other.completeRewards_;
      chapterImg_ = other.chapterImg_;
      chapterIcon_ = other.chapterIcon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

    /// <summary>Field number for the "PrevMainlines" field.</summary>
    public const int PrevMainlinesFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_prevMainlines_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> prevMainlines_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PrevMainlines {
      get { return prevMainlines_; }
    }

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

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

    /// <summary>Field number for the "ChapterIcon" field.</summary>
    public const int ChapterIconFieldNumber = 9;
    private string chapterIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ChapterIcon {
      get { return chapterIcon_; }
      set {
        chapterIcon_ = 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 Chapter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Chapter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (ChapterType != other.ChapterType) return false;
      if (WorldClass != other.WorldClass) return false;
      if(!prevMainlines_.Equals(other.prevMainlines_)) return false;
      if (CompleteRewards != other.CompleteRewards) return false;
      if (ChapterImg != other.ChapterImg) return false;
      if (ChapterIcon != other.ChapterIcon) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (ChapterType != 0) hash ^= ChapterType.GetHashCode();
      if (WorldClass != 0) hash ^= WorldClass.GetHashCode();
      hash ^= prevMainlines_.GetHashCode();
      if (CompleteRewards.Length != 0) hash ^= CompleteRewards.GetHashCode();
      if (ChapterImg.Length != 0) hash ^= ChapterImg.GetHashCode();
      if (ChapterIcon.Length != 0) hash ^= ChapterIcon.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (ChapterType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ChapterType);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(WorldClass);
      }
      prevMainlines_.WriteTo(output, _repeated_prevMainlines_codec);
      if (CompleteRewards.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(CompleteRewards);
      }
      if (ChapterImg.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ChapterImg);
      }
      if (ChapterIcon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ChapterIcon);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (ChapterType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ChapterType);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(WorldClass);
      }
      prevMainlines_.WriteTo(ref output, _repeated_prevMainlines_codec);
      if (CompleteRewards.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(CompleteRewards);
      }
      if (ChapterImg.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ChapterImg);
      }
      if (ChapterIcon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ChapterIcon);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (ChapterType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChapterType);
      }
      if (WorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClass);
      }
      size += prevMainlines_.CalculateSize(_repeated_prevMainlines_codec);
      if (CompleteRewards.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CompleteRewards);
      }
      if (ChapterImg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterImg);
      }
      if (ChapterIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterIcon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Chapter other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.ChapterType != 0) {
        ChapterType = other.ChapterType;
      }
      if (other.WorldClass != 0) {
        WorldClass = other.WorldClass;
      }
      prevMainlines_.Add(other.prevMainlines_);
      if (other.CompleteRewards.Length != 0) {
        CompleteRewards = other.CompleteRewards;
      }
      if (other.ChapterImg.Length != 0) {
        ChapterImg = other.ChapterImg;
      }
      if (other.ChapterIcon.Length != 0) {
        ChapterIcon = other.ChapterIcon;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            ChapterType = input.ReadInt32();
            break;
          }
          case 40: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            prevMainlines_.AddEntriesFrom(input, _repeated_prevMainlines_codec);
            break;
          }
          case 58: {
            CompleteRewards = input.ReadString();
            break;
          }
          case 66: {
            ChapterImg = input.ReadString();
            break;
          }
          case 74: {
            ChapterIcon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            ChapterType = input.ReadInt32();
            break;
          }
          case 40: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            prevMainlines_.AddEntriesFrom(ref input, _repeated_prevMainlines_codec);
            break;
          }
          case 58: {
            CompleteRewards = input.ReadString();
            break;
          }
          case 66: {
            ChapterImg = input.ReadString();
            break;
          }
          case 74: {
            ChapterIcon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_Chapter() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Chapter> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Chapter.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Chapter> list_ = new pbc::RepeatedField<global::Nova.Client.Chapter>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Chapter> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Chapter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Chapter other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 Character() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Character(Character other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      visible_ = other.visible_;
      available_ = other.available_;
      grade_ = other.grade_;
      defaultSkinId_ = other.defaultSkinId_;
      advanceSkinId_ = other.advanceSkinId_;
      advanceGroup_ = other.advanceGroup_;
      advanceSkinUnlockLevel_ = other.advanceSkinUnlockLevel_;
      faction_ = other.faction_;
      weight_ = other.weight_;
      eET_ = other.eET_;
      class_ = other.class_;
      characterAttackType_ = other.characterAttackType_;
      searchTargetType_ = other.searchTargetType_;
      atkSpd_ = other.atkSpd_;
      movType_ = other.movType_;
      walkSpd_ = other.walkSpd_;
      runSpd_ = other.runSpd_;
      spRunSpd_ = other.spRunSpd_;
      transSpd_ = other.transSpd_;
      walkToRunDuration_ = other.walkToRunDuration_;
      dodgeToRunAccelerationOrNot_ = other.dodgeToRunAccelerationOrNot_;
      movAcc_ = other.movAcc_;
      rotSpd_ = other.rotSpd_;
      rotAcc_ = other.rotAcc_;
      visionDeg_ = other.visionDeg_;
      visionRng_ = other.visionRng_;
      visionAttackRng_ = other.visionAttackRng_;
      hearRng_ = other.hearRng_;
      hearAttackRng_ = other.hearAttackRng_;
      raiseGunRng_ = other.raiseGunRng_;
      bulletType_ = other.bulletType_;
      ammo_ = other.ammo_;
      aIId_ = other.aIId_;
      normalAtkId_ = other.normalAtkId_;
      dodgeId_ = other.dodgeId_;
      skillId_ = other.skillId_;
      specialSkillId_ = other.specialSkillId_;
      ultimateId_ = other.ultimateId_;
      assistAIId_ = other.assistAIId_;
      assistNormalAtkId_ = other.assistNormalAtkId_;
      assistDodgeId_ = other.assistDodgeId_;
      assistSkillId_ = other.assistSkillId_;
      assistSpecialSkillId_ = other.assistSpecialSkillId_;
      assistUltimateId_ = other.assistUltimateId_;
      talentSkillId_ = other.talentSkillId_;
      assistSkillOnStageType_ = other.assistSkillOnStageType_;
      assistSkillAngle_ = other.assistSkillAngle_;
      assistSkillRadius_ = other.assistSkillRadius_;
      assistSkillOnStageOrientation_ = other.assistSkillOnStageOrientation_;
      assistUltimateOnStageType_ = other.assistUltimateOnStageType_;
      assistUltimateAngle_ = other.assistUltimateAngle_;
      assistUltimateRadius_ = other.assistUltimateRadius_;
      assistUltimateOnStageOrientation_ = other.assistUltimateOnStageOrientation_;
      switchCD_ = other.switchCD_;
      energyConvRatio_ = other.energyConvRatio_;
      energyEfficiency_ = other.energyEfficiency_;
      fragmentsId_ = other.fragmentsId_;
      transformQty_ = other.transformQty_;
      recruitmentQty_ = other.recruitmentQty_;
      attributeId_ = other.attributeId_;
      presentsTraitId_ = other.presentsTraitId_;
      skillsUpgradeGroup_ = other.skillsUpgradeGroup_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "DodgeToRunAccelerationOrNot" field.</summary>
    public const int DodgeToRunAccelerationOrNotFieldNumber = 23;
    private bool dodgeToRunAccelerationOrNot_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool DodgeToRunAccelerationOrNot {
      get { return dodgeToRunAccelerationOrNot_; }
      set {
        dodgeToRunAccelerationOrNot_ = value;
      }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "SkillsUpgradeGroup" field.</summary>
    public const int SkillsUpgradeGroupFieldNumber = 64;
    private static readonly pb::FieldCodec<int> _repeated_skillsUpgradeGroup_codec
        = pb::FieldCodec.ForInt32(514);
    private readonly pbc::RepeatedField<int> skillsUpgradeGroup_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> SkillsUpgradeGroup {
      get { return skillsUpgradeGroup_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Character other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Visible != other.Visible) return false;
      if (Available != other.Available) return false;
      if (Grade != other.Grade) return false;
      if (DefaultSkinId != other.DefaultSkinId) return false;
      if (AdvanceSkinId != other.AdvanceSkinId) return false;
      if (AdvanceGroup != other.AdvanceGroup) return false;
      if (AdvanceSkinUnlockLevel != other.AdvanceSkinUnlockLevel) return false;
      if (Faction != other.Faction) return false;
      if (Weight != other.Weight) return false;
      if (EET != other.EET) return false;
      if (Class != other.Class) return false;
      if (CharacterAttackType != other.CharacterAttackType) return false;
      if (SearchTargetType != other.SearchTargetType) return false;
      if (AtkSpd != other.AtkSpd) return false;
      if (MovType != other.MovType) return false;
      if (WalkSpd != other.WalkSpd) return false;
      if (RunSpd != other.RunSpd) return false;
      if (SpRunSpd != other.SpRunSpd) return false;
      if (TransSpd != other.TransSpd) return false;
      if (WalkToRunDuration != other.WalkToRunDuration) return false;
      if (DodgeToRunAccelerationOrNot != other.DodgeToRunAccelerationOrNot) return false;
      if (MovAcc != other.MovAcc) return false;
      if (RotSpd != other.RotSpd) return false;
      if (RotAcc != other.RotAcc) return false;
      if (VisionDeg != other.VisionDeg) return false;
      if (VisionRng != other.VisionRng) return false;
      if (VisionAttackRng != other.VisionAttackRng) return false;
      if (HearRng != other.HearRng) return false;
      if (HearAttackRng != other.HearAttackRng) return false;
      if (RaiseGunRng != other.RaiseGunRng) return false;
      if (BulletType != other.BulletType) return false;
      if (Ammo != other.Ammo) return false;
      if (AIId != other.AIId) return false;
      if (NormalAtkId != other.NormalAtkId) return false;
      if (DodgeId != other.DodgeId) return false;
      if (SkillId != other.SkillId) return false;
      if (SpecialSkillId != other.SpecialSkillId) return false;
      if (UltimateId != other.UltimateId) return false;
      if (AssistAIId != other.AssistAIId) return false;
      if (AssistNormalAtkId != other.AssistNormalAtkId) return false;
      if (AssistDodgeId != other.AssistDodgeId) return false;
      if (AssistSkillId != other.AssistSkillId) return false;
      if (AssistSpecialSkillId != other.AssistSpecialSkillId) return false;
      if (AssistUltimateId != other.AssistUltimateId) return false;
      if (TalentSkillId != other.TalentSkillId) return false;
      if (AssistSkillOnStageType != other.AssistSkillOnStageType) return false;
      if (AssistSkillAngle != other.AssistSkillAngle) return false;
      if (AssistSkillRadius != other.AssistSkillRadius) return false;
      if (AssistSkillOnStageOrientation != other.AssistSkillOnStageOrientation) return false;
      if (AssistUltimateOnStageType != other.AssistUltimateOnStageType) return false;
      if (AssistUltimateAngle != other.AssistUltimateAngle) return false;
      if (AssistUltimateRadius != other.AssistUltimateRadius) return false;
      if (AssistUltimateOnStageOrientation != other.AssistUltimateOnStageOrientation) return false;
      if (SwitchCD != other.SwitchCD) return false;
      if (EnergyConvRatio != other.EnergyConvRatio) return false;
      if (EnergyEfficiency != other.EnergyEfficiency) return false;
      if (FragmentsId != other.FragmentsId) return false;
      if (TransformQty != other.TransformQty) return false;
      if (RecruitmentQty != other.RecruitmentQty) return false;
      if (AttributeId != other.AttributeId) return false;
      if (PresentsTraitId != other.PresentsTraitId) return false;
      if(!skillsUpgradeGroup_.Equals(other.skillsUpgradeGroup_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Visible != false) hash ^= Visible.GetHashCode();
      if (Available != false) hash ^= Available.GetHashCode();
      if (Grade != 0) hash ^= Grade.GetHashCode();
      if (DefaultSkinId != 0) hash ^= DefaultSkinId.GetHashCode();
      if (AdvanceSkinId != 0) hash ^= AdvanceSkinId.GetHashCode();
      if (AdvanceGroup != 0) hash ^= AdvanceGroup.GetHashCode();
      if (AdvanceSkinUnlockLevel != 0) hash ^= AdvanceSkinUnlockLevel.GetHashCode();
      if (Faction != 0) hash ^= Faction.GetHashCode();
      if (Weight != 0) hash ^= Weight.GetHashCode();
      if (EET != 0) hash ^= EET.GetHashCode();
      if (Class != 0) hash ^= Class.GetHashCode();
      if (CharacterAttackType != 0) hash ^= CharacterAttackType.GetHashCode();
      if (SearchTargetType != 0) hash ^= SearchTargetType.GetHashCode();
      if (AtkSpd != 0) hash ^= AtkSpd.GetHashCode();
      if (MovType != 0) hash ^= MovType.GetHashCode();
      if (WalkSpd != 0) hash ^= WalkSpd.GetHashCode();
      if (RunSpd != 0) hash ^= RunSpd.GetHashCode();
      if (SpRunSpd != 0) hash ^= SpRunSpd.GetHashCode();
      if (TransSpd != 0) hash ^= TransSpd.GetHashCode();
      if (WalkToRunDuration != 0) hash ^= WalkToRunDuration.GetHashCode();
      if (DodgeToRunAccelerationOrNot != false) hash ^= DodgeToRunAccelerationOrNot.GetHashCode();
      if (MovAcc != 0) hash ^= MovAcc.GetHashCode();
      if (RotSpd != 0) hash ^= RotSpd.GetHashCode();
      if (RotAcc != 0) hash ^= RotAcc.GetHashCode();
      if (VisionDeg != 0) hash ^= VisionDeg.GetHashCode();
      if (VisionRng != 0) hash ^= VisionRng.GetHashCode();
      if (VisionAttackRng != 0) hash ^= VisionAttackRng.GetHashCode();
      if (HearRng != 0) hash ^= HearRng.GetHashCode();
      if (HearAttackRng != 0) hash ^= HearAttackRng.GetHashCode();
      if (RaiseGunRng != 0) hash ^= RaiseGunRng.GetHashCode();
      if (BulletType != 0) hash ^= BulletType.GetHashCode();
      if (Ammo != 0) hash ^= Ammo.GetHashCode();
      if (AIId != 0) hash ^= AIId.GetHashCode();
      if (NormalAtkId != 0) hash ^= NormalAtkId.GetHashCode();
      if (DodgeId != 0) hash ^= DodgeId.GetHashCode();
      if (SkillId != 0) hash ^= SkillId.GetHashCode();
      if (SpecialSkillId != 0) hash ^= SpecialSkillId.GetHashCode();
      if (UltimateId != 0) hash ^= UltimateId.GetHashCode();
      if (AssistAIId != 0) hash ^= AssistAIId.GetHashCode();
      if (AssistNormalAtkId != 0) hash ^= AssistNormalAtkId.GetHashCode();
      if (AssistDodgeId != 0) hash ^= AssistDodgeId.GetHashCode();
      if (AssistSkillId != 0) hash ^= AssistSkillId.GetHashCode();
      if (AssistSpecialSkillId != 0) hash ^= AssistSpecialSkillId.GetHashCode();
      if (AssistUltimateId != 0) hash ^= AssistUltimateId.GetHashCode();
      if (TalentSkillId != 0) hash ^= TalentSkillId.GetHashCode();
      if (AssistSkillOnStageType != 0) hash ^= AssistSkillOnStageType.GetHashCode();
      if (AssistSkillAngle != 0) hash ^= AssistSkillAngle.GetHashCode();
      if (AssistSkillRadius != 0) hash ^= AssistSkillRadius.GetHashCode();
      if (AssistSkillOnStageOrientation != 0) hash ^= AssistSkillOnStageOrientation.GetHashCode();
      if (AssistUltimateOnStageType != 0) hash ^= AssistUltimateOnStageType.GetHashCode();
      if (AssistUltimateAngle != 0) hash ^= AssistUltimateAngle.GetHashCode();
      if (AssistUltimateRadius != 0) hash ^= AssistUltimateRadius.GetHashCode();
      if (AssistUltimateOnStageOrientation != 0) hash ^= AssistUltimateOnStageOrientation.GetHashCode();
      if (SwitchCD != 0) hash ^= SwitchCD.GetHashCode();
      if (EnergyConvRatio != 0) hash ^= EnergyConvRatio.GetHashCode();
      if (EnergyEfficiency != 0) hash ^= EnergyEfficiency.GetHashCode();
      if (FragmentsId != 0) hash ^= FragmentsId.GetHashCode();
      if (TransformQty != 0) hash ^= TransformQty.GetHashCode();
      if (RecruitmentQty != 0) hash ^= RecruitmentQty.GetHashCode();
      if (AttributeId.Length != 0) hash ^= AttributeId.GetHashCode();
      if (PresentsTraitId != 0) hash ^= PresentsTraitId.GetHashCode();
      hash ^= skillsUpgradeGroup_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Visible != false) {
        output.WriteRawTag(24);
        output.WriteBool(Visible);
      }
      if (Available != false) {
        output.WriteRawTag(32);
        output.WriteBool(Available);
      }
      if (Grade != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Grade);
      }
      if (DefaultSkinId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(DefaultSkinId);
      }
      if (AdvanceSkinId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(AdvanceSkinId);
      }
      if (AdvanceGroup != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AdvanceGroup);
      }
      if (AdvanceSkinUnlockLevel != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(AdvanceSkinUnlockLevel);
      }
      if (Faction != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Faction);
      }
      if (Weight != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Weight);
      }
      if (EET != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(EET);
      }
      if (Class != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Class);
      }
      if (CharacterAttackType != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(CharacterAttackType);
      }
      if (SearchTargetType != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(SearchTargetType);
      }
      if (AtkSpd != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AtkSpd);
      }
      if (MovType != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(MovType);
      }
      if (WalkSpd != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(WalkSpd);
      }
      if (RunSpd != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(RunSpd);
      }
      if (SpRunSpd != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(SpRunSpd);
      }
      if (TransSpd != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(TransSpd);
      }
      if (WalkToRunDuration != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(WalkToRunDuration);
      }
      if (DodgeToRunAccelerationOrNot != false) {
        output.WriteRawTag(184, 1);
        output.WriteBool(DodgeToRunAccelerationOrNot);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(MovAcc);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(RotSpd);
      }
      if (RotAcc != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(RotAcc);
      }
      if (VisionDeg != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(VisionDeg);
      }
      if (VisionRng != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(VisionRng);
      }
      if (VisionAttackRng != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(VisionAttackRng);
      }
      if (HearRng != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(HearRng);
      }
      if (HearAttackRng != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(HearAttackRng);
      }
      if (RaiseGunRng != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(RaiseGunRng);
      }
      if (BulletType != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(BulletType);
      }
      if (Ammo != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(Ammo);
      }
      if (AIId != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(AIId);
      }
      if (NormalAtkId != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(NormalAtkId);
      }
      if (DodgeId != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(DodgeId);
      }
      if (SkillId != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(SkillId);
      }
      if (SpecialSkillId != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(SpecialSkillId);
      }
      if (UltimateId != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(UltimateId);
      }
      if (AssistAIId != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(AssistAIId);
      }
      if (AssistNormalAtkId != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(AssistNormalAtkId);
      }
      if (AssistDodgeId != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(AssistDodgeId);
      }
      if (AssistSkillId != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(AssistSkillId);
      }
      if (AssistSpecialSkillId != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(AssistSpecialSkillId);
      }
      if (AssistUltimateId != 0) {
        output.WriteRawTag(240, 2);
        output.WriteInt32(AssistUltimateId);
      }
      if (TalentSkillId != 0) {
        output.WriteRawTag(248, 2);
        output.WriteInt32(TalentSkillId);
      }
      if (AssistSkillOnStageType != 0) {
        output.WriteRawTag(128, 3);
        output.WriteInt32(AssistSkillOnStageType);
      }
      if (AssistSkillAngle != 0) {
        output.WriteRawTag(136, 3);
        output.WriteInt32(AssistSkillAngle);
      }
      if (AssistSkillRadius != 0) {
        output.WriteRawTag(144, 3);
        output.WriteInt32(AssistSkillRadius);
      }
      if (AssistSkillOnStageOrientation != 0) {
        output.WriteRawTag(152, 3);
        output.WriteInt32(AssistSkillOnStageOrientation);
      }
      if (AssistUltimateOnStageType != 0) {
        output.WriteRawTag(160, 3);
        output.WriteInt32(AssistUltimateOnStageType);
      }
      if (AssistUltimateAngle != 0) {
        output.WriteRawTag(168, 3);
        output.WriteInt32(AssistUltimateAngle);
      }
      if (AssistUltimateRadius != 0) {
        output.WriteRawTag(176, 3);
        output.WriteInt32(AssistUltimateRadius);
      }
      if (AssistUltimateOnStageOrientation != 0) {
        output.WriteRawTag(184, 3);
        output.WriteInt32(AssistUltimateOnStageOrientation);
      }
      if (SwitchCD != 0) {
        output.WriteRawTag(192, 3);
        output.WriteInt32(SwitchCD);
      }
      if (EnergyConvRatio != 0) {
        output.WriteRawTag(200, 3);
        output.WriteInt32(EnergyConvRatio);
      }
      if (EnergyEfficiency != 0) {
        output.WriteRawTag(208, 3);
        output.WriteInt32(EnergyEfficiency);
      }
      if (FragmentsId != 0) {
        output.WriteRawTag(216, 3);
        output.WriteInt32(FragmentsId);
      }
      if (TransformQty != 0) {
        output.WriteRawTag(224, 3);
        output.WriteInt32(TransformQty);
      }
      if (RecruitmentQty != 0) {
        output.WriteRawTag(232, 3);
        output.WriteInt32(RecruitmentQty);
      }
      if (AttributeId.Length != 0) {
        output.WriteRawTag(242, 3);
        output.WriteString(AttributeId);
      }
      if (PresentsTraitId != 0) {
        output.WriteRawTag(248, 3);
        output.WriteInt32(PresentsTraitId);
      }
      skillsUpgradeGroup_.WriteTo(output, _repeated_skillsUpgradeGroup_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Visible != false) {
        output.WriteRawTag(24);
        output.WriteBool(Visible);
      }
      if (Available != false) {
        output.WriteRawTag(32);
        output.WriteBool(Available);
      }
      if (Grade != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Grade);
      }
      if (DefaultSkinId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(DefaultSkinId);
      }
      if (AdvanceSkinId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(AdvanceSkinId);
      }
      if (AdvanceGroup != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AdvanceGroup);
      }
      if (AdvanceSkinUnlockLevel != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(AdvanceSkinUnlockLevel);
      }
      if (Faction != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Faction);
      }
      if (Weight != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Weight);
      }
      if (EET != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(EET);
      }
      if (Class != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Class);
      }
      if (CharacterAttackType != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(CharacterAttackType);
      }
      if (SearchTargetType != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(SearchTargetType);
      }
      if (AtkSpd != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AtkSpd);
      }
      if (MovType != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(MovType);
      }
      if (WalkSpd != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(WalkSpd);
      }
      if (RunSpd != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(RunSpd);
      }
      if (SpRunSpd != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(SpRunSpd);
      }
      if (TransSpd != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(TransSpd);
      }
      if (WalkToRunDuration != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(WalkToRunDuration);
      }
      if (DodgeToRunAccelerationOrNot != false) {
        output.WriteRawTag(184, 1);
        output.WriteBool(DodgeToRunAccelerationOrNot);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(MovAcc);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(RotSpd);
      }
      if (RotAcc != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(RotAcc);
      }
      if (VisionDeg != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(VisionDeg);
      }
      if (VisionRng != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(VisionRng);
      }
      if (VisionAttackRng != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(VisionAttackRng);
      }
      if (HearRng != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(HearRng);
      }
      if (HearAttackRng != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(HearAttackRng);
      }
      if (RaiseGunRng != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(RaiseGunRng);
      }
      if (BulletType != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(BulletType);
      }
      if (Ammo != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(Ammo);
      }
      if (AIId != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(AIId);
      }
      if (NormalAtkId != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(NormalAtkId);
      }
      if (DodgeId != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(DodgeId);
      }
      if (SkillId != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(SkillId);
      }
      if (SpecialSkillId != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(SpecialSkillId);
      }
      if (UltimateId != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(UltimateId);
      }
      if (AssistAIId != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(AssistAIId);
      }
      if (AssistNormalAtkId != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(AssistNormalAtkId);
      }
      if (AssistDodgeId != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(AssistDodgeId);
      }
      if (AssistSkillId != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(AssistSkillId);
      }
      if (AssistSpecialSkillId != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(AssistSpecialSkillId);
      }
      if (AssistUltimateId != 0) {
        output.WriteRawTag(240, 2);
        output.WriteInt32(AssistUltimateId);
      }
      if (TalentSkillId != 0) {
        output.WriteRawTag(248, 2);
        output.WriteInt32(TalentSkillId);
      }
      if (AssistSkillOnStageType != 0) {
        output.WriteRawTag(128, 3);
        output.WriteInt32(AssistSkillOnStageType);
      }
      if (AssistSkillAngle != 0) {
        output.WriteRawTag(136, 3);
        output.WriteInt32(AssistSkillAngle);
      }
      if (AssistSkillRadius != 0) {
        output.WriteRawTag(144, 3);
        output.WriteInt32(AssistSkillRadius);
      }
      if (AssistSkillOnStageOrientation != 0) {
        output.WriteRawTag(152, 3);
        output.WriteInt32(AssistSkillOnStageOrientation);
      }
      if (AssistUltimateOnStageType != 0) {
        output.WriteRawTag(160, 3);
        output.WriteInt32(AssistUltimateOnStageType);
      }
      if (AssistUltimateAngle != 0) {
        output.WriteRawTag(168, 3);
        output.WriteInt32(AssistUltimateAngle);
      }
      if (AssistUltimateRadius != 0) {
        output.WriteRawTag(176, 3);
        output.WriteInt32(AssistUltimateRadius);
      }
      if (AssistUltimateOnStageOrientation != 0) {
        output.WriteRawTag(184, 3);
        output.WriteInt32(AssistUltimateOnStageOrientation);
      }
      if (SwitchCD != 0) {
        output.WriteRawTag(192, 3);
        output.WriteInt32(SwitchCD);
      }
      if (EnergyConvRatio != 0) {
        output.WriteRawTag(200, 3);
        output.WriteInt32(EnergyConvRatio);
      }
      if (EnergyEfficiency != 0) {
        output.WriteRawTag(208, 3);
        output.WriteInt32(EnergyEfficiency);
      }
      if (FragmentsId != 0) {
        output.WriteRawTag(216, 3);
        output.WriteInt32(FragmentsId);
      }
      if (TransformQty != 0) {
        output.WriteRawTag(224, 3);
        output.WriteInt32(TransformQty);
      }
      if (RecruitmentQty != 0) {
        output.WriteRawTag(232, 3);
        output.WriteInt32(RecruitmentQty);
      }
      if (AttributeId.Length != 0) {
        output.WriteRawTag(242, 3);
        output.WriteString(AttributeId);
      }
      if (PresentsTraitId != 0) {
        output.WriteRawTag(248, 3);
        output.WriteInt32(PresentsTraitId);
      }
      skillsUpgradeGroup_.WriteTo(ref output, _repeated_skillsUpgradeGroup_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Visible != false) {
        size += 1 + 1;
      }
      if (Available != false) {
        size += 1 + 1;
      }
      if (Grade != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Grade);
      }
      if (DefaultSkinId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DefaultSkinId);
      }
      if (AdvanceSkinId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdvanceSkinId);
      }
      if (AdvanceGroup != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdvanceGroup);
      }
      if (AdvanceSkinUnlockLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdvanceSkinUnlockLevel);
      }
      if (Faction != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Faction);
      }
      if (Weight != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      if (EET != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EET);
      }
      if (Class != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Class);
      }
      if (CharacterAttackType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharacterAttackType);
      }
      if (SearchTargetType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SearchTargetType);
      }
      if (AtkSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AtkSpd);
      }
      if (MovType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MovType);
      }
      if (WalkSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WalkSpd);
      }
      if (RunSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RunSpd);
      }
      if (SpRunSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SpRunSpd);
      }
      if (TransSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TransSpd);
      }
      if (WalkToRunDuration != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WalkToRunDuration);
      }
      if (DodgeToRunAccelerationOrNot != false) {
        size += 2 + 1;
      }
      if (MovAcc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MovAcc);
      }
      if (RotSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RotSpd);
      }
      if (RotAcc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RotAcc);
      }
      if (VisionDeg != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(VisionDeg);
      }
      if (VisionRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(VisionRng);
      }
      if (VisionAttackRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(VisionAttackRng);
      }
      if (HearRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HearRng);
      }
      if (HearAttackRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HearAttackRng);
      }
      if (RaiseGunRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RaiseGunRng);
      }
      if (BulletType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(BulletType);
      }
      if (Ammo != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Ammo);
      }
      if (AIId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AIId);
      }
      if (NormalAtkId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NormalAtkId);
      }
      if (DodgeId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DodgeId);
      }
      if (SkillId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkillId);
      }
      if (SpecialSkillId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SpecialSkillId);
      }
      if (UltimateId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(UltimateId);
      }
      if (AssistAIId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistAIId);
      }
      if (AssistNormalAtkId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistNormalAtkId);
      }
      if (AssistDodgeId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistDodgeId);
      }
      if (AssistSkillId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistSkillId);
      }
      if (AssistSpecialSkillId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistSpecialSkillId);
      }
      if (AssistUltimateId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistUltimateId);
      }
      if (TalentSkillId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TalentSkillId);
      }
      if (AssistSkillOnStageType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistSkillOnStageType);
      }
      if (AssistSkillAngle != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistSkillAngle);
      }
      if (AssistSkillRadius != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistSkillRadius);
      }
      if (AssistSkillOnStageOrientation != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistSkillOnStageOrientation);
      }
      if (AssistUltimateOnStageType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistUltimateOnStageType);
      }
      if (AssistUltimateAngle != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistUltimateAngle);
      }
      if (AssistUltimateRadius != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistUltimateRadius);
      }
      if (AssistUltimateOnStageOrientation != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AssistUltimateOnStageOrientation);
      }
      if (SwitchCD != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SwitchCD);
      }
      if (EnergyConvRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EnergyConvRatio);
      }
      if (EnergyEfficiency != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EnergyEfficiency);
      }
      if (FragmentsId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FragmentsId);
      }
      if (TransformQty != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TransformQty);
      }
      if (RecruitmentQty != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RecruitmentQty);
      }
      if (AttributeId.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AttributeId);
      }
      if (PresentsTraitId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PresentsTraitId);
      }
      size += skillsUpgradeGroup_.CalculateSize(_repeated_skillsUpgradeGroup_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Character other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Visible != false) {
        Visible = other.Visible;
      }
      if (other.Available != false) {
        Available = other.Available;
      }
      if (other.Grade != 0) {
        Grade = other.Grade;
      }
      if (other.DefaultSkinId != 0) {
        DefaultSkinId = other.DefaultSkinId;
      }
      if (other.AdvanceSkinId != 0) {
        AdvanceSkinId = other.AdvanceSkinId;
      }
      if (other.AdvanceGroup != 0) {
        AdvanceGroup = other.AdvanceGroup;
      }
      if (other.AdvanceSkinUnlockLevel != 0) {
        AdvanceSkinUnlockLevel = other.AdvanceSkinUnlockLevel;
      }
      if (other.Faction != 0) {
        Faction = other.Faction;
      }
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      if (other.EET != 0) {
        EET = other.EET;
      }
      if (other.Class != 0) {
        Class = other.Class;
      }
      if (other.CharacterAttackType != 0) {
        CharacterAttackType = other.CharacterAttackType;
      }
      if (other.SearchTargetType != 0) {
        SearchTargetType = other.SearchTargetType;
      }
      if (other.AtkSpd != 0) {
        AtkSpd = other.AtkSpd;
      }
      if (other.MovType != 0) {
        MovType = other.MovType;
      }
      if (other.WalkSpd != 0) {
        WalkSpd = other.WalkSpd;
      }
      if (other.RunSpd != 0) {
        RunSpd = other.RunSpd;
      }
      if (other.SpRunSpd != 0) {
        SpRunSpd = other.SpRunSpd;
      }
      if (other.TransSpd != 0) {
        TransSpd = other.TransSpd;
      }
      if (other.WalkToRunDuration != 0) {
        WalkToRunDuration = other.WalkToRunDuration;
      }
      if (other.DodgeToRunAccelerationOrNot != false) {
        DodgeToRunAccelerationOrNot = other.DodgeToRunAccelerationOrNot;
      }
      if (other.MovAcc != 0) {
        MovAcc = other.MovAcc;
      }
      if (other.RotSpd != 0) {
        RotSpd = other.RotSpd;
      }
      if (other.RotAcc != 0) {
        RotAcc = other.RotAcc;
      }
      if (other.VisionDeg != 0) {
        VisionDeg = other.VisionDeg;
      }
      if (other.VisionRng != 0) {
        VisionRng = other.VisionRng;
      }
      if (other.VisionAttackRng != 0) {
        VisionAttackRng = other.VisionAttackRng;
      }
      if (other.HearRng != 0) {
        HearRng = other.HearRng;
      }
      if (other.HearAttackRng != 0) {
        HearAttackRng = other.HearAttackRng;
      }
      if (other.RaiseGunRng != 0) {
        RaiseGunRng = other.RaiseGunRng;
      }
      if (other.BulletType != 0) {
        BulletType = other.BulletType;
      }
      if (other.Ammo != 0) {
        Ammo = other.Ammo;
      }
      if (other.AIId != 0) {
        AIId = other.AIId;
      }
      if (other.NormalAtkId != 0) {
        NormalAtkId = other.NormalAtkId;
      }
      if (other.DodgeId != 0) {
        DodgeId = other.DodgeId;
      }
      if (other.SkillId != 0) {
        SkillId = other.SkillId;
      }
      if (other.SpecialSkillId != 0) {
        SpecialSkillId = other.SpecialSkillId;
      }
      if (other.UltimateId != 0) {
        UltimateId = other.UltimateId;
      }
      if (other.AssistAIId != 0) {
        AssistAIId = other.AssistAIId;
      }
      if (other.AssistNormalAtkId != 0) {
        AssistNormalAtkId = other.AssistNormalAtkId;
      }
      if (other.AssistDodgeId != 0) {
        AssistDodgeId = other.AssistDodgeId;
      }
      if (other.AssistSkillId != 0) {
        AssistSkillId = other.AssistSkillId;
      }
      if (other.AssistSpecialSkillId != 0) {
        AssistSpecialSkillId = other.AssistSpecialSkillId;
      }
      if (other.AssistUltimateId != 0) {
        AssistUltimateId = other.AssistUltimateId;
      }
      if (other.TalentSkillId != 0) {
        TalentSkillId = other.TalentSkillId;
      }
      if (other.AssistSkillOnStageType != 0) {
        AssistSkillOnStageType = other.AssistSkillOnStageType;
      }
      if (other.AssistSkillAngle != 0) {
        AssistSkillAngle = other.AssistSkillAngle;
      }
      if (other.AssistSkillRadius != 0) {
        AssistSkillRadius = other.AssistSkillRadius;
      }
      if (other.AssistSkillOnStageOrientation != 0) {
        AssistSkillOnStageOrientation = other.AssistSkillOnStageOrientation;
      }
      if (other.AssistUltimateOnStageType != 0) {
        AssistUltimateOnStageType = other.AssistUltimateOnStageType;
      }
      if (other.AssistUltimateAngle != 0) {
        AssistUltimateAngle = other.AssistUltimateAngle;
      }
      if (other.AssistUltimateRadius != 0) {
        AssistUltimateRadius = other.AssistUltimateRadius;
      }
      if (other.AssistUltimateOnStageOrientation != 0) {
        AssistUltimateOnStageOrientation = other.AssistUltimateOnStageOrientation;
      }
      if (other.SwitchCD != 0) {
        SwitchCD = other.SwitchCD;
      }
      if (other.EnergyConvRatio != 0) {
        EnergyConvRatio = other.EnergyConvRatio;
      }
      if (other.EnergyEfficiency != 0) {
        EnergyEfficiency = other.EnergyEfficiency;
      }
      if (other.FragmentsId != 0) {
        FragmentsId = other.FragmentsId;
      }
      if (other.TransformQty != 0) {
        TransformQty = other.TransformQty;
      }
      if (other.RecruitmentQty != 0) {
        RecruitmentQty = other.RecruitmentQty;
      }
      if (other.AttributeId.Length != 0) {
        AttributeId = other.AttributeId;
      }
      if (other.PresentsTraitId != 0) {
        PresentsTraitId = other.PresentsTraitId;
      }
      skillsUpgradeGroup_.Add(other.skillsUpgradeGroup_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Visible = input.ReadBool();
            break;
          }
          case 32: {
            Available = input.ReadBool();
            break;
          }
          case 40: {
            Grade = input.ReadInt32();
            break;
          }
          case 48: {
            DefaultSkinId = input.ReadInt32();
            break;
          }
          case 56: {
            AdvanceSkinId = input.ReadInt32();
            break;
          }
          case 64: {
            AdvanceGroup = input.ReadInt32();
            break;
          }
          case 72: {
            AdvanceSkinUnlockLevel = input.ReadInt32();
            break;
          }
          case 80: {
            Faction = input.ReadInt32();
            break;
          }
          case 88: {
            Weight = input.ReadInt32();
            break;
          }
          case 96: {
            EET = input.ReadInt32();
            break;
          }
          case 104: {
            Class = input.ReadInt32();
            break;
          }
          case 112: {
            CharacterAttackType = input.ReadInt32();
            break;
          }
          case 120: {
            SearchTargetType = input.ReadInt32();
            break;
          }
          case 128: {
            AtkSpd = input.ReadInt32();
            break;
          }
          case 136: {
            MovType = input.ReadInt32();
            break;
          }
          case 144: {
            WalkSpd = input.ReadInt32();
            break;
          }
          case 152: {
            RunSpd = input.ReadInt32();
            break;
          }
          case 160: {
            SpRunSpd = input.ReadInt32();
            break;
          }
          case 168: {
            TransSpd = input.ReadInt32();
            break;
          }
          case 176: {
            WalkToRunDuration = input.ReadInt32();
            break;
          }
          case 184: {
            DodgeToRunAccelerationOrNot = input.ReadBool();
            break;
          }
          case 192: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 200: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 208: {
            RotAcc = input.ReadInt32();
            break;
          }
          case 216: {
            VisionDeg = input.ReadInt32();
            break;
          }
          case 224: {
            VisionRng = input.ReadInt32();
            break;
          }
          case 232: {
            VisionAttackRng = input.ReadInt32();
            break;
          }
          case 240: {
            HearRng = input.ReadInt32();
            break;
          }
          case 248: {
            HearAttackRng = input.ReadInt32();
            break;
          }
          case 256: {
            RaiseGunRng = input.ReadInt32();
            break;
          }
          case 264: {
            BulletType = input.ReadInt32();
            break;
          }
          case 272: {
            Ammo = input.ReadInt32();
            break;
          }
          case 280: {
            AIId = input.ReadInt32();
            break;
          }
          case 288: {
            NormalAtkId = input.ReadInt32();
            break;
          }
          case 296: {
            DodgeId = input.ReadInt32();
            break;
          }
          case 304: {
            SkillId = input.ReadInt32();
            break;
          }
          case 312: {
            SpecialSkillId = input.ReadInt32();
            break;
          }
          case 320: {
            UltimateId = input.ReadInt32();
            break;
          }
          case 328: {
            AssistAIId = input.ReadInt32();
            break;
          }
          case 336: {
            AssistNormalAtkId = input.ReadInt32();
            break;
          }
          case 344: {
            AssistDodgeId = input.ReadInt32();
            break;
          }
          case 352: {
            AssistSkillId = input.ReadInt32();
            break;
          }
          case 360: {
            AssistSpecialSkillId = input.ReadInt32();
            break;
          }
          case 368: {
            AssistUltimateId = input.ReadInt32();
            break;
          }
          case 376: {
            TalentSkillId = input.ReadInt32();
            break;
          }
          case 384: {
            AssistSkillOnStageType = input.ReadInt32();
            break;
          }
          case 392: {
            AssistSkillAngle = input.ReadInt32();
            break;
          }
          case 400: {
            AssistSkillRadius = input.ReadInt32();
            break;
          }
          case 408: {
            AssistSkillOnStageOrientation = input.ReadInt32();
            break;
          }
          case 416: {
            AssistUltimateOnStageType = input.ReadInt32();
            break;
          }
          case 424: {
            AssistUltimateAngle = input.ReadInt32();
            break;
          }
          case 432: {
            AssistUltimateRadius = input.ReadInt32();
            break;
          }
          case 440: {
            AssistUltimateOnStageOrientation = input.ReadInt32();
            break;
          }
          case 448: {
            SwitchCD = input.ReadInt32();
            break;
          }
          case 456: {
            EnergyConvRatio = input.ReadInt32();
            break;
          }
          case 464: {
            EnergyEfficiency = input.ReadInt32();
            break;
          }
          case 472: {
            FragmentsId = input.ReadInt32();
            break;
          }
          case 480: {
            TransformQty = input.ReadInt32();
            break;
          }
          case 488: {
            RecruitmentQty = input.ReadInt32();
            break;
          }
          case 498: {
            AttributeId = input.ReadString();
            break;
          }
          case 504: {
            PresentsTraitId = input.ReadInt32();
            break;
          }
          case 514:
          case 512: {
            skillsUpgradeGroup_.AddEntriesFrom(input, _repeated_skillsUpgradeGroup_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Visible = input.ReadBool();
            break;
          }
          case 32: {
            Available = input.ReadBool();
            break;
          }
          case 40: {
            Grade = input.ReadInt32();
            break;
          }
          case 48: {
            DefaultSkinId = input.ReadInt32();
            break;
          }
          case 56: {
            AdvanceSkinId = input.ReadInt32();
            break;
          }
          case 64: {
            AdvanceGroup = input.ReadInt32();
            break;
          }
          case 72: {
            AdvanceSkinUnlockLevel = input.ReadInt32();
            break;
          }
          case 80: {
            Faction = input.ReadInt32();
            break;
          }
          case 88: {
            Weight = input.ReadInt32();
            break;
          }
          case 96: {
            EET = input.ReadInt32();
            break;
          }
          case 104: {
            Class = input.ReadInt32();
            break;
          }
          case 112: {
            CharacterAttackType = input.ReadInt32();
            break;
          }
          case 120: {
            SearchTargetType = input.ReadInt32();
            break;
          }
          case 128: {
            AtkSpd = input.ReadInt32();
            break;
          }
          case 136: {
            MovType = input.ReadInt32();
            break;
          }
          case 144: {
            WalkSpd = input.ReadInt32();
            break;
          }
          case 152: {
            RunSpd = input.ReadInt32();
            break;
          }
          case 160: {
            SpRunSpd = input.ReadInt32();
            break;
          }
          case 168: {
            TransSpd = input.ReadInt32();
            break;
          }
          case 176: {
            WalkToRunDuration = input.ReadInt32();
            break;
          }
          case 184: {
            DodgeToRunAccelerationOrNot = input.ReadBool();
            break;
          }
          case 192: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 200: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 208: {
            RotAcc = input.ReadInt32();
            break;
          }
          case 216: {
            VisionDeg = input.ReadInt32();
            break;
          }
          case 224: {
            VisionRng = input.ReadInt32();
            break;
          }
          case 232: {
            VisionAttackRng = input.ReadInt32();
            break;
          }
          case 240: {
            HearRng = input.ReadInt32();
            break;
          }
          case 248: {
            HearAttackRng = input.ReadInt32();
            break;
          }
          case 256: {
            RaiseGunRng = input.ReadInt32();
            break;
          }
          case 264: {
            BulletType = input.ReadInt32();
            break;
          }
          case 272: {
            Ammo = input.ReadInt32();
            break;
          }
          case 280: {
            AIId = input.ReadInt32();
            break;
          }
          case 288: {
            NormalAtkId = input.ReadInt32();
            break;
          }
          case 296: {
            DodgeId = input.ReadInt32();
            break;
          }
          case 304: {
            SkillId = input.ReadInt32();
            break;
          }
          case 312: {
            SpecialSkillId = input.ReadInt32();
            break;
          }
          case 320: {
            UltimateId = input.ReadInt32();
            break;
          }
          case 328: {
            AssistAIId = input.ReadInt32();
            break;
          }
          case 336: {
            AssistNormalAtkId = input.ReadInt32();
            break;
          }
          case 344: {
            AssistDodgeId = input.ReadInt32();
            break;
          }
          case 352: {
            AssistSkillId = input.ReadInt32();
            break;
          }
          case 360: {
            AssistSpecialSkillId = input.ReadInt32();
            break;
          }
          case 368: {
            AssistUltimateId = input.ReadInt32();
            break;
          }
          case 376: {
            TalentSkillId = input.ReadInt32();
            break;
          }
          case 384: {
            AssistSkillOnStageType = input.ReadInt32();
            break;
          }
          case 392: {
            AssistSkillAngle = input.ReadInt32();
            break;
          }
          case 400: {
            AssistSkillRadius = input.ReadInt32();
            break;
          }
          case 408: {
            AssistSkillOnStageOrientation = input.ReadInt32();
            break;
          }
          case 416: {
            AssistUltimateOnStageType = input.ReadInt32();
            break;
          }
          case 424: {
            AssistUltimateAngle = input.ReadInt32();
            break;
          }
          case 432: {
            AssistUltimateRadius = input.ReadInt32();
            break;
          }
          case 440: {
            AssistUltimateOnStageOrientation = input.ReadInt32();
            break;
          }
          case 448: {
            SwitchCD = input.ReadInt32();
            break;
          }
          case 456: {
            EnergyConvRatio = input.ReadInt32();
            break;
          }
          case 464: {
            EnergyEfficiency = input.ReadInt32();
            break;
          }
          case 472: {
            FragmentsId = input.ReadInt32();
            break;
          }
          case 480: {
            TransformQty = input.ReadInt32();
            break;
          }
          case 488: {
            RecruitmentQty = input.ReadInt32();
            break;
          }
          case 498: {
            AttributeId = input.ReadString();
            break;
          }
          case 504: {
            PresentsTraitId = input.ReadInt32();
            break;
          }
          case 514:
          case 512: {
            skillsUpgradeGroup_.AddEntriesFrom(ref input, _repeated_skillsUpgradeGroup_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_Character() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Character> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Character.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Character> list_ = new pbc::RepeatedField<global::Nova.Client.Character>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Character> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Character other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Character other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterAdvance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterAdvance(CharacterAdvance other) : this() {
      id_ = other.id_;
      group_ = other.group_;
      advanceLvl_ = other.advanceLvl_;
      tid1_ = other.tid1_;
      qty1_ = other.qty1_;
      tid2_ = other.tid2_;
      qty2_ = other.qty2_;
      tid3_ = other.tid3_;
      qty3_ = other.qty3_;
      tid4_ = other.tid4_;
      qty4_ = other.qty4_;
      goldQty_ = other.goldQty_;
      awardTid1_ = other.awardTid1_;
      awardQty1_ = other.awardQty1_;
      awardTid2_ = other.awardTid2_;
      awardQty2_ = other.awardQty2_;
      awardTid3_ = other.awardTid3_;
      awardQty3_ = other.awardQty3_;
      advanceDescFront1_ = other.advanceDescFront1_;
      advanceDescAfter1_ = other.advanceDescAfter1_;
      advanceDescFront2_ = other.advanceDescFront2_;
      advanceDescAfter2_ = other.advanceDescAfter2_;
      advanceDescFront3_ = other.advanceDescFront3_;
      advanceDescAfter3_ = other.advanceDescAfter3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "AdvanceDescAfter3" field.</summary>
    public const int AdvanceDescAfter3FieldNumber = 24;
    private string advanceDescAfter3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AdvanceDescAfter3 {
      get { return advanceDescAfter3_; }
      set {
        advanceDescAfter3_ = 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 CharacterAdvance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterAdvance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Group != other.Group) return false;
      if (AdvanceLvl != other.AdvanceLvl) return false;
      if (Tid1 != other.Tid1) return false;
      if (Qty1 != other.Qty1) return false;
      if (Tid2 != other.Tid2) return false;
      if (Qty2 != other.Qty2) return false;
      if (Tid3 != other.Tid3) return false;
      if (Qty3 != other.Qty3) return false;
      if (Tid4 != other.Tid4) return false;
      if (Qty4 != other.Qty4) return false;
      if (GoldQty != other.GoldQty) return false;
      if (AwardTid1 != other.AwardTid1) return false;
      if (AwardQty1 != other.AwardQty1) return false;
      if (AwardTid2 != other.AwardTid2) return false;
      if (AwardQty2 != other.AwardQty2) return false;
      if (AwardTid3 != other.AwardTid3) return false;
      if (AwardQty3 != other.AwardQty3) return false;
      if (AdvanceDescFront1 != other.AdvanceDescFront1) return false;
      if (AdvanceDescAfter1 != other.AdvanceDescAfter1) return false;
      if (AdvanceDescFront2 != other.AdvanceDescFront2) return false;
      if (AdvanceDescAfter2 != other.AdvanceDescAfter2) return false;
      if (AdvanceDescFront3 != other.AdvanceDescFront3) return false;
      if (AdvanceDescAfter3 != other.AdvanceDescAfter3) 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 (Group != 0) hash ^= Group.GetHashCode();
      if (AdvanceLvl != 0) hash ^= AdvanceLvl.GetHashCode();
      if (Tid1 != 0) hash ^= Tid1.GetHashCode();
      if (Qty1 != 0) hash ^= Qty1.GetHashCode();
      if (Tid2 != 0) hash ^= Tid2.GetHashCode();
      if (Qty2 != 0) hash ^= Qty2.GetHashCode();
      if (Tid3 != 0) hash ^= Tid3.GetHashCode();
      if (Qty3 != 0) hash ^= Qty3.GetHashCode();
      if (Tid4 != 0) hash ^= Tid4.GetHashCode();
      if (Qty4 != 0) hash ^= Qty4.GetHashCode();
      if (GoldQty != 0) hash ^= GoldQty.GetHashCode();
      if (AwardTid1 != 0) hash ^= AwardTid1.GetHashCode();
      if (AwardQty1 != 0) hash ^= AwardQty1.GetHashCode();
      if (AwardTid2 != 0) hash ^= AwardTid2.GetHashCode();
      if (AwardQty2 != 0) hash ^= AwardQty2.GetHashCode();
      if (AwardTid3 != 0) hash ^= AwardTid3.GetHashCode();
      if (AwardQty3 != 0) hash ^= AwardQty3.GetHashCode();
      if (AdvanceDescFront1.Length != 0) hash ^= AdvanceDescFront1.GetHashCode();
      if (AdvanceDescAfter1.Length != 0) hash ^= AdvanceDescAfter1.GetHashCode();
      if (AdvanceDescFront2.Length != 0) hash ^= AdvanceDescFront2.GetHashCode();
      if (AdvanceDescAfter2.Length != 0) hash ^= AdvanceDescAfter2.GetHashCode();
      if (AdvanceDescFront3.Length != 0) hash ^= AdvanceDescFront3.GetHashCode();
      if (AdvanceDescAfter3.Length != 0) hash ^= AdvanceDescAfter3.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.WriteInt32(Id);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (AdvanceLvl != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AdvanceLvl);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Qty3);
      }
      if (Tid4 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Tid4);
      }
      if (Qty4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Qty4);
      }
      if (GoldQty != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(GoldQty);
      }
      if (AwardTid1 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardTid1);
      }
      if (AwardQty1 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardQty1);
      }
      if (AwardTid2 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AwardTid2);
      }
      if (AwardQty2 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AwardQty2);
      }
      if (AwardTid3 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(AwardTid3);
      }
      if (AwardQty3 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(AwardQty3);
      }
      if (AdvanceDescFront1.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(AdvanceDescFront1);
      }
      if (AdvanceDescAfter1.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(AdvanceDescAfter1);
      }
      if (AdvanceDescFront2.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(AdvanceDescFront2);
      }
      if (AdvanceDescAfter2.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(AdvanceDescAfter2);
      }
      if (AdvanceDescFront3.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(AdvanceDescFront3);
      }
      if (AdvanceDescAfter3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(AdvanceDescAfter3);
      }
      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.WriteInt32(Id);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (AdvanceLvl != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AdvanceLvl);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Qty3);
      }
      if (Tid4 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Tid4);
      }
      if (Qty4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Qty4);
      }
      if (GoldQty != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(GoldQty);
      }
      if (AwardTid1 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardTid1);
      }
      if (AwardQty1 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardQty1);
      }
      if (AwardTid2 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AwardTid2);
      }
      if (AwardQty2 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AwardQty2);
      }
      if (AwardTid3 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(AwardTid3);
      }
      if (AwardQty3 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(AwardQty3);
      }
      if (AdvanceDescFront1.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(AdvanceDescFront1);
      }
      if (AdvanceDescAfter1.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(AdvanceDescAfter1);
      }
      if (AdvanceDescFront2.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(AdvanceDescFront2);
      }
      if (AdvanceDescAfter2.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(AdvanceDescAfter2);
      }
      if (AdvanceDescFront3.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(AdvanceDescFront3);
      }
      if (AdvanceDescAfter3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(AdvanceDescAfter3);
      }
      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.ComputeInt32Size(Id);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (AdvanceLvl != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdvanceLvl);
      }
      if (Tid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid1);
      }
      if (Qty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty1);
      }
      if (Tid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid2);
      }
      if (Qty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty2);
      }
      if (Tid3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid3);
      }
      if (Qty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty3);
      }
      if (Tid4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid4);
      }
      if (Qty4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty4);
      }
      if (GoldQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GoldQty);
      }
      if (AwardTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardTid1);
      }
      if (AwardQty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardQty1);
      }
      if (AwardTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardTid2);
      }
      if (AwardQty2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AwardQty2);
      }
      if (AwardTid3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AwardTid3);
      }
      if (AwardQty3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AwardQty3);
      }
      if (AdvanceDescFront1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AdvanceDescFront1);
      }
      if (AdvanceDescAfter1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AdvanceDescAfter1);
      }
      if (AdvanceDescFront2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AdvanceDescFront2);
      }
      if (AdvanceDescAfter2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AdvanceDescAfter2);
      }
      if (AdvanceDescFront3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AdvanceDescFront3);
      }
      if (AdvanceDescAfter3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AdvanceDescAfter3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterAdvance other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      if (other.AdvanceLvl != 0) {
        AdvanceLvl = other.AdvanceLvl;
      }
      if (other.Tid1 != 0) {
        Tid1 = other.Tid1;
      }
      if (other.Qty1 != 0) {
        Qty1 = other.Qty1;
      }
      if (other.Tid2 != 0) {
        Tid2 = other.Tid2;
      }
      if (other.Qty2 != 0) {
        Qty2 = other.Qty2;
      }
      if (other.Tid3 != 0) {
        Tid3 = other.Tid3;
      }
      if (other.Qty3 != 0) {
        Qty3 = other.Qty3;
      }
      if (other.Tid4 != 0) {
        Tid4 = other.Tid4;
      }
      if (other.Qty4 != 0) {
        Qty4 = other.Qty4;
      }
      if (other.GoldQty != 0) {
        GoldQty = other.GoldQty;
      }
      if (other.AwardTid1 != 0) {
        AwardTid1 = other.AwardTid1;
      }
      if (other.AwardQty1 != 0) {
        AwardQty1 = other.AwardQty1;
      }
      if (other.AwardTid2 != 0) {
        AwardTid2 = other.AwardTid2;
      }
      if (other.AwardQty2 != 0) {
        AwardQty2 = other.AwardQty2;
      }
      if (other.AwardTid3 != 0) {
        AwardTid3 = other.AwardTid3;
      }
      if (other.AwardQty3 != 0) {
        AwardQty3 = other.AwardQty3;
      }
      if (other.AdvanceDescFront1.Length != 0) {
        AdvanceDescFront1 = other.AdvanceDescFront1;
      }
      if (other.AdvanceDescAfter1.Length != 0) {
        AdvanceDescAfter1 = other.AdvanceDescAfter1;
      }
      if (other.AdvanceDescFront2.Length != 0) {
        AdvanceDescFront2 = other.AdvanceDescFront2;
      }
      if (other.AdvanceDescAfter2.Length != 0) {
        AdvanceDescAfter2 = other.AdvanceDescAfter2;
      }
      if (other.AdvanceDescFront3.Length != 0) {
        AdvanceDescFront3 = other.AdvanceDescFront3;
      }
      if (other.AdvanceDescAfter3.Length != 0) {
        AdvanceDescAfter3 = other.AdvanceDescAfter3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            AdvanceLvl = input.ReadInt32();
            break;
          }
          case 32: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 40: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 48: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 56: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 64: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 72: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 80: {
            Tid4 = input.ReadInt32();
            break;
          }
          case 88: {
            Qty4 = input.ReadInt32();
            break;
          }
          case 96: {
            GoldQty = input.ReadInt32();
            break;
          }
          case 104: {
            AwardTid1 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardQty1 = input.ReadInt32();
            break;
          }
          case 120: {
            AwardTid2 = input.ReadInt32();
            break;
          }
          case 128: {
            AwardQty2 = input.ReadInt32();
            break;
          }
          case 136: {
            AwardTid3 = input.ReadInt32();
            break;
          }
          case 144: {
            AwardQty3 = input.ReadInt32();
            break;
          }
          case 154: {
            AdvanceDescFront1 = input.ReadString();
            break;
          }
          case 162: {
            AdvanceDescAfter1 = input.ReadString();
            break;
          }
          case 170: {
            AdvanceDescFront2 = input.ReadString();
            break;
          }
          case 178: {
            AdvanceDescAfter2 = input.ReadString();
            break;
          }
          case 186: {
            AdvanceDescFront3 = input.ReadString();
            break;
          }
          case 194: {
            AdvanceDescAfter3 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            AdvanceLvl = input.ReadInt32();
            break;
          }
          case 32: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 40: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 48: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 56: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 64: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 72: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 80: {
            Tid4 = input.ReadInt32();
            break;
          }
          case 88: {
            Qty4 = input.ReadInt32();
            break;
          }
          case 96: {
            GoldQty = input.ReadInt32();
            break;
          }
          case 104: {
            AwardTid1 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardQty1 = input.ReadInt32();
            break;
          }
          case 120: {
            AwardTid2 = input.ReadInt32();
            break;
          }
          case 128: {
            AwardQty2 = input.ReadInt32();
            break;
          }
          case 136: {
            AwardTid3 = input.ReadInt32();
            break;
          }
          case 144: {
            AwardQty3 = input.ReadInt32();
            break;
          }
          case 154: {
            AdvanceDescFront1 = input.ReadString();
            break;
          }
          case 162: {
            AdvanceDescAfter1 = input.ReadString();
            break;
          }
          case 170: {
            AdvanceDescFront2 = input.ReadString();
            break;
          }
          case 178: {
            AdvanceDescAfter2 = input.ReadString();
            break;
          }
          case 186: {
            AdvanceDescFront3 = input.ReadString();
            break;
          }
          case 194: {
            AdvanceDescAfter3 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterAdvance() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterAdvance> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterAdvance.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterAdvance> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterAdvance>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterAdvance> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterAdvance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterAdvance other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterArchive() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterArchive(CharacterArchive other) : this() {
      id_ = other.id_;
      archType_ = other.archType_;
      characterId_ = other.characterId_;
      unlockAffinityLevel_ = other.unlockAffinityLevel_;
      recordId_ = other.recordId_;
      sort_ = other.sort_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterArchive other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ArchType != other.ArchType) return false;
      if (CharacterId != other.CharacterId) return false;
      if (UnlockAffinityLevel != other.UnlockAffinityLevel) return false;
      if (RecordId != other.RecordId) return false;
      if (Sort != other.Sort) 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 (ArchType != 0) hash ^= ArchType.GetHashCode();
      if (CharacterId != 0) hash ^= CharacterId.GetHashCode();
      if (UnlockAffinityLevel != 0) hash ^= UnlockAffinityLevel.GetHashCode();
      if (RecordId != 0) hash ^= RecordId.GetHashCode();
      if (Sort != 0) hash ^= Sort.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.WriteInt32(Id);
      }
      if (ArchType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ArchType);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CharacterId);
      }
      if (UnlockAffinityLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockAffinityLevel);
      }
      if (RecordId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RecordId);
      }
      if (Sort != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Sort);
      }
      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.WriteInt32(Id);
      }
      if (ArchType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ArchType);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CharacterId);
      }
      if (UnlockAffinityLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockAffinityLevel);
      }
      if (RecordId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RecordId);
      }
      if (Sort != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Sort);
      }
      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.ComputeInt32Size(Id);
      }
      if (ArchType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ArchType);
      }
      if (CharacterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharacterId);
      }
      if (UnlockAffinityLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockAffinityLevel);
      }
      if (RecordId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecordId);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterArchive other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ArchType != 0) {
        ArchType = other.ArchType;
      }
      if (other.CharacterId != 0) {
        CharacterId = other.CharacterId;
      }
      if (other.UnlockAffinityLevel != 0) {
        UnlockAffinityLevel = other.UnlockAffinityLevel;
      }
      if (other.RecordId != 0) {
        RecordId = other.RecordId;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ArchType = input.ReadInt32();
            break;
          }
          case 24: {
            CharacterId = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockAffinityLevel = input.ReadInt32();
            break;
          }
          case 40: {
            RecordId = input.ReadInt32();
            break;
          }
          case 48: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ArchType = input.ReadInt32();
            break;
          }
          case 24: {
            CharacterId = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockAffinityLevel = input.ReadInt32();
            break;
          }
          case 40: {
            RecordId = input.ReadInt32();
            break;
          }
          case 48: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterArchive() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterArchive> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterArchive.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterArchive> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterArchive>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterArchive> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterArchive other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterArchive other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterArchiveBaseInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterArchiveBaseInfo(CharacterArchiveBaseInfo other) : this() {
      id_ = other.id_;
      characterId_ = other.characterId_;
      title_ = other.title_;
      content_ = other.content_;
      sort_ = other.sort_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterArchiveBaseInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharacterId != other.CharacterId) return false;
      if (Title != other.Title) return false;
      if (Content != other.Content) return false;
      if (Sort != other.Sort) 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 (CharacterId != 0) hash ^= CharacterId.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Content.Length != 0) hash ^= Content.GetHashCode();
      if (Sort != 0) hash ^= Sort.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.WriteInt32(Id);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharacterId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Content);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      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.WriteInt32(Id);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharacterId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Content);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharacterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharacterId);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Content.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterArchiveBaseInfo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharacterId != 0) {
        CharacterId = other.CharacterId;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Content.Length != 0) {
        Content = other.Content;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharacterId = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Content = input.ReadString();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 table_CharacterArchiveBaseInfo() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterArchiveBaseInfo> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterArchiveBaseInfo.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterArchiveBaseInfo> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterArchiveBaseInfo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterArchiveBaseInfo> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterArchiveBaseInfo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterArchiveBaseInfo other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterArchiveContent() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

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

    /// <summary>Field number for the "Content" field.</summary>
    public const int ContentFieldNumber = 3;
    private string content_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Content {
      get { return content_; }
      set {
        content_ = 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 CharacterArchiveContent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterArchiveContent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Content != other.Content) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Content.Length != 0) hash ^= Content.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Content);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Content);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Content.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterArchiveContent other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Content.Length != 0) {
        Content = other.Content;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Content = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 table_CharacterArchiveContent() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterArchiveContent> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterArchiveContent.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterArchiveContent> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterArchiveContent>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterArchiveContent> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterArchiveContent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterArchiveContent other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterArchiveVoice() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterArchiveVoice(CharacterArchiveVoice other) : this() {
      id_ = other.id_;
      characterId_ = other.characterId_;
      unlockAffinityLevel_ = other.unlockAffinityLevel_;
      unlockPlot_ = other.unlockPlot_;
      title_ = other.title_;
      source_ = other.source_;
      archVoiceType_ = other.archVoiceType_;
      sort_ = other.sort_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterArchiveVoice other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharacterId != other.CharacterId) return false;
      if (UnlockAffinityLevel != other.UnlockAffinityLevel) return false;
      if (UnlockPlot != other.UnlockPlot) return false;
      if (Title != other.Title) return false;
      if (Source != other.Source) return false;
      if (ArchVoiceType != other.ArchVoiceType) return false;
      if (Sort != other.Sort) 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 (CharacterId != 0) hash ^= CharacterId.GetHashCode();
      if (UnlockAffinityLevel != 0) hash ^= UnlockAffinityLevel.GetHashCode();
      if (UnlockPlot != 0) hash ^= UnlockPlot.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Source.Length != 0) hash ^= Source.GetHashCode();
      if (ArchVoiceType != 0) hash ^= ArchVoiceType.GetHashCode();
      if (Sort != 0) hash ^= Sort.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.WriteInt32(Id);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharacterId);
      }
      if (UnlockAffinityLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(UnlockAffinityLevel);
      }
      if (UnlockPlot != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockPlot);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Title);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Source);
      }
      if (ArchVoiceType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ArchVoiceType);
      }
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      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.WriteInt32(Id);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharacterId);
      }
      if (UnlockAffinityLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(UnlockAffinityLevel);
      }
      if (UnlockPlot != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockPlot);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Title);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Source);
      }
      if (ArchVoiceType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ArchVoiceType);
      }
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharacterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharacterId);
      }
      if (UnlockAffinityLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockAffinityLevel);
      }
      if (UnlockPlot != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockPlot);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Source.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Source);
      }
      if (ArchVoiceType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ArchVoiceType);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterArchiveVoice other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharacterId != 0) {
        CharacterId = other.CharacterId;
      }
      if (other.UnlockAffinityLevel != 0) {
        UnlockAffinityLevel = other.UnlockAffinityLevel;
      }
      if (other.UnlockPlot != 0) {
        UnlockPlot = other.UnlockPlot;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Source.Length != 0) {
        Source = other.Source;
      }
      if (other.ArchVoiceType != 0) {
        ArchVoiceType = other.ArchVoiceType;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharacterId = input.ReadInt32();
            break;
          }
          case 24: {
            UnlockAffinityLevel = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockPlot = input.ReadInt32();
            break;
          }
          case 42: {
            Title = input.ReadString();
            break;
          }
          case 50: {
            Source = input.ReadString();
            break;
          }
          case 56: {
            ArchVoiceType = input.ReadInt32();
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CharacterId = input.ReadInt32();
            break;
          }
          case 24: {
            UnlockAffinityLevel = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockPlot = input.ReadInt32();
            break;
          }
          case 42: {
            Title = input.ReadString();
            break;
          }
          case 50: {
            Source = input.ReadString();
            break;
          }
          case 56: {
            ArchVoiceType = input.ReadInt32();
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterArchiveVoice() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterArchiveVoice> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterArchiveVoice.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterArchiveVoice> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterArchiveVoice>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterArchiveVoice> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterArchiveVoice other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterArchiveVoice other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterCG() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterCG(CharacterCG other) : this() {
      id_ = other.id_;
      fullScreenPortrait_ = other.fullScreenPortrait_;
      fullScreenL2D_ = other.fullScreenL2D_;
      unlockPlot_ = other.unlockPlot_;
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 5;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = 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 CharacterCG);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterCG other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FullScreenPortrait != other.FullScreenPortrait) return false;
      if (FullScreenL2D != other.FullScreenL2D) return false;
      if (UnlockPlot != other.UnlockPlot) return false;
      if (Name != other.Name) 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 (FullScreenPortrait.Length != 0) hash ^= FullScreenPortrait.GetHashCode();
      if (FullScreenL2D.Length != 0) hash ^= FullScreenL2D.GetHashCode();
      if (UnlockPlot != 0) hash ^= UnlockPlot.GetHashCode();
      if (Name.Length != 0) hash ^= Name.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.WriteInt32(Id);
      }
      if (FullScreenPortrait.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FullScreenPortrait);
      }
      if (FullScreenL2D.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FullScreenL2D);
      }
      if (UnlockPlot != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockPlot);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Name);
      }
      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.WriteInt32(Id);
      }
      if (FullScreenPortrait.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(FullScreenPortrait);
      }
      if (FullScreenL2D.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FullScreenL2D);
      }
      if (UnlockPlot != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockPlot);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Name);
      }
      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.ComputeInt32Size(Id);
      }
      if (FullScreenPortrait.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FullScreenPortrait);
      }
      if (FullScreenL2D.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FullScreenL2D);
      }
      if (UnlockPlot != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockPlot);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterCG other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FullScreenPortrait.Length != 0) {
        FullScreenPortrait = other.FullScreenPortrait;
      }
      if (other.FullScreenL2D.Length != 0) {
        FullScreenL2D = other.FullScreenL2D;
      }
      if (other.UnlockPlot != 0) {
        UnlockPlot = other.UnlockPlot;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            FullScreenPortrait = input.ReadString();
            break;
          }
          case 26: {
            FullScreenL2D = input.ReadString();
            break;
          }
          case 32: {
            UnlockPlot = input.ReadInt32();
            break;
          }
          case 42: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            FullScreenPortrait = input.ReadString();
            break;
          }
          case 26: {
            FullScreenL2D = input.ReadString();
            break;
          }
          case 32: {
            UnlockPlot = input.ReadInt32();
            break;
          }
          case 42: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterCG() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterCG> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterCG.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterCG> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterCG>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterCG> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterCG other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterCG other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterDes() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterDes(CharacterDes other) : this() {
      id_ = other.id_;
      alias_ = other.alias_;
      cnCv_ = other.cnCv_;
      jpCv_ = other.jpCv_;
      charColor_ = other.charColor_;
      charSkillColor_ = other.charSkillColor_;
      charDes_ = other.charDes_;
      tag_ = other.tag_.Clone();
      force_ = other.force_;
      preferTags_ = other.preferTags_.Clone();
      hateTags_ = other.hateTags_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "Tag" field.</summary>
    public const int TagFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_tag_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> tag_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Tag {
      get { return tag_; }
    }

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

    /// <summary>Field number for the "PreferTags" field.</summary>
    public const int PreferTagsFieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_preferTags_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> preferTags_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PreferTags {
      get { return preferTags_; }
    }

    /// <summary>Field number for the "HateTags" field.</summary>
    public const int HateTagsFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_hateTags_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> hateTags_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> HateTags {
      get { return hateTags_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterDes other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Alias != other.Alias) return false;
      if (CnCv != other.CnCv) return false;
      if (JpCv != other.JpCv) return false;
      if (CharColor != other.CharColor) return false;
      if (CharSkillColor != other.CharSkillColor) return false;
      if (CharDes != other.CharDes) return false;
      if(!tag_.Equals(other.tag_)) return false;
      if (Force != other.Force) return false;
      if(!preferTags_.Equals(other.preferTags_)) return false;
      if(!hateTags_.Equals(other.hateTags_)) 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 (Alias.Length != 0) hash ^= Alias.GetHashCode();
      if (CnCv.Length != 0) hash ^= CnCv.GetHashCode();
      if (JpCv.Length != 0) hash ^= JpCv.GetHashCode();
      if (CharColor.Length != 0) hash ^= CharColor.GetHashCode();
      if (CharSkillColor.Length != 0) hash ^= CharSkillColor.GetHashCode();
      if (CharDes.Length != 0) hash ^= CharDes.GetHashCode();
      hash ^= tag_.GetHashCode();
      if (Force != 0) hash ^= Force.GetHashCode();
      hash ^= preferTags_.GetHashCode();
      hash ^= hateTags_.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.WriteInt32(Id);
      }
      if (Alias.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Alias);
      }
      if (CnCv.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CnCv);
      }
      if (JpCv.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(JpCv);
      }
      if (CharColor.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(CharColor);
      }
      if (CharSkillColor.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(CharSkillColor);
      }
      if (CharDes.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(CharDes);
      }
      tag_.WriteTo(output, _repeated_tag_codec);
      if (Force != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Force);
      }
      preferTags_.WriteTo(output, _repeated_preferTags_codec);
      hateTags_.WriteTo(output, _repeated_hateTags_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Alias.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Alias);
      }
      if (CnCv.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CnCv);
      }
      if (JpCv.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(JpCv);
      }
      if (CharColor.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(CharColor);
      }
      if (CharSkillColor.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(CharSkillColor);
      }
      if (CharDes.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(CharDes);
      }
      tag_.WriteTo(ref output, _repeated_tag_codec);
      if (Force != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Force);
      }
      preferTags_.WriteTo(ref output, _repeated_preferTags_codec);
      hateTags_.WriteTo(ref output, _repeated_hateTags_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Alias.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Alias);
      }
      if (CnCv.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CnCv);
      }
      if (JpCv.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(JpCv);
      }
      if (CharColor.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CharColor);
      }
      if (CharSkillColor.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CharSkillColor);
      }
      if (CharDes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CharDes);
      }
      size += tag_.CalculateSize(_repeated_tag_codec);
      if (Force != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Force);
      }
      size += preferTags_.CalculateSize(_repeated_preferTags_codec);
      size += hateTags_.CalculateSize(_repeated_hateTags_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterDes other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Alias.Length != 0) {
        Alias = other.Alias;
      }
      if (other.CnCv.Length != 0) {
        CnCv = other.CnCv;
      }
      if (other.JpCv.Length != 0) {
        JpCv = other.JpCv;
      }
      if (other.CharColor.Length != 0) {
        CharColor = other.CharColor;
      }
      if (other.CharSkillColor.Length != 0) {
        CharSkillColor = other.CharSkillColor;
      }
      if (other.CharDes.Length != 0) {
        CharDes = other.CharDes;
      }
      tag_.Add(other.tag_);
      if (other.Force != 0) {
        Force = other.Force;
      }
      preferTags_.Add(other.preferTags_);
      hateTags_.Add(other.hateTags_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Alias = input.ReadString();
            break;
          }
          case 26: {
            CnCv = input.ReadString();
            break;
          }
          case 34: {
            JpCv = input.ReadString();
            break;
          }
          case 42: {
            CharColor = input.ReadString();
            break;
          }
          case 50: {
            CharSkillColor = input.ReadString();
            break;
          }
          case 58: {
            CharDes = input.ReadString();
            break;
          }
          case 66:
          case 64: {
            tag_.AddEntriesFrom(input, _repeated_tag_codec);
            break;
          }
          case 72: {
            Force = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            preferTags_.AddEntriesFrom(input, _repeated_preferTags_codec);
            break;
          }
          case 90:
          case 88: {
            hateTags_.AddEntriesFrom(input, _repeated_hateTags_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Alias = input.ReadString();
            break;
          }
          case 26: {
            CnCv = input.ReadString();
            break;
          }
          case 34: {
            JpCv = input.ReadString();
            break;
          }
          case 42: {
            CharColor = input.ReadString();
            break;
          }
          case 50: {
            CharSkillColor = input.ReadString();
            break;
          }
          case 58: {
            CharDes = input.ReadString();
            break;
          }
          case 66:
          case 64: {
            tag_.AddEntriesFrom(ref input, _repeated_tag_codec);
            break;
          }
          case 72: {
            Force = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            preferTags_.AddEntriesFrom(ref input, _repeated_preferTags_codec);
            break;
          }
          case 90:
          case 88: {
            hateTags_.AddEntriesFrom(ref input, _repeated_hateTags_codec);
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterDes() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterDes> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterDes.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterDes> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterDes>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterDes> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterDes other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterDes other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterSkillUpgrade() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterSkillUpgrade(CharacterSkillUpgrade other) : this() {
      id_ = other.id_;
      group_ = other.group_;
      advanceNum_ = other.advanceNum_;
      tid1_ = other.tid1_;
      qty1_ = other.qty1_;
      tid2_ = other.tid2_;
      qty2_ = other.qty2_;
      tid3_ = other.tid3_;
      qty3_ = other.qty3_;
      tid4_ = other.tid4_;
      qty4_ = other.qty4_;
      goldQty_ = other.goldQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterSkillUpgrade other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Group != other.Group) return false;
      if (AdvanceNum != other.AdvanceNum) return false;
      if (Tid1 != other.Tid1) return false;
      if (Qty1 != other.Qty1) return false;
      if (Tid2 != other.Tid2) return false;
      if (Qty2 != other.Qty2) return false;
      if (Tid3 != other.Tid3) return false;
      if (Qty3 != other.Qty3) return false;
      if (Tid4 != other.Tid4) return false;
      if (Qty4 != other.Qty4) return false;
      if (GoldQty != other.GoldQty) 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 (Group != 0) hash ^= Group.GetHashCode();
      if (AdvanceNum != 0) hash ^= AdvanceNum.GetHashCode();
      if (Tid1 != 0) hash ^= Tid1.GetHashCode();
      if (Qty1 != 0) hash ^= Qty1.GetHashCode();
      if (Tid2 != 0) hash ^= Tid2.GetHashCode();
      if (Qty2 != 0) hash ^= Qty2.GetHashCode();
      if (Tid3 != 0) hash ^= Tid3.GetHashCode();
      if (Qty3 != 0) hash ^= Qty3.GetHashCode();
      if (Tid4 != 0) hash ^= Tid4.GetHashCode();
      if (Qty4 != 0) hash ^= Qty4.GetHashCode();
      if (GoldQty != 0) hash ^= GoldQty.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.WriteInt32(Id);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (AdvanceNum != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AdvanceNum);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Qty3);
      }
      if (Tid4 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Tid4);
      }
      if (Qty4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Qty4);
      }
      if (GoldQty != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(GoldQty);
      }
      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.WriteInt32(Id);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (AdvanceNum != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AdvanceNum);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Qty3);
      }
      if (Tid4 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Tid4);
      }
      if (Qty4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Qty4);
      }
      if (GoldQty != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(GoldQty);
      }
      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.ComputeInt32Size(Id);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (AdvanceNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdvanceNum);
      }
      if (Tid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid1);
      }
      if (Qty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty1);
      }
      if (Tid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid2);
      }
      if (Qty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty2);
      }
      if (Tid3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid3);
      }
      if (Qty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty3);
      }
      if (Tid4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid4);
      }
      if (Qty4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty4);
      }
      if (GoldQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GoldQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterSkillUpgrade other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      if (other.AdvanceNum != 0) {
        AdvanceNum = other.AdvanceNum;
      }
      if (other.Tid1 != 0) {
        Tid1 = other.Tid1;
      }
      if (other.Qty1 != 0) {
        Qty1 = other.Qty1;
      }
      if (other.Tid2 != 0) {
        Tid2 = other.Tid2;
      }
      if (other.Qty2 != 0) {
        Qty2 = other.Qty2;
      }
      if (other.Tid3 != 0) {
        Tid3 = other.Tid3;
      }
      if (other.Qty3 != 0) {
        Qty3 = other.Qty3;
      }
      if (other.Tid4 != 0) {
        Tid4 = other.Tid4;
      }
      if (other.Qty4 != 0) {
        Qty4 = other.Qty4;
      }
      if (other.GoldQty != 0) {
        GoldQty = other.GoldQty;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            AdvanceNum = input.ReadInt32();
            break;
          }
          case 32: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 40: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 48: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 56: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 64: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 72: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 80: {
            Tid4 = input.ReadInt32();
            break;
          }
          case 88: {
            Qty4 = input.ReadInt32();
            break;
          }
          case 96: {
            GoldQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            AdvanceNum = input.ReadInt32();
            break;
          }
          case 32: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 40: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 48: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 56: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 64: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 72: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 80: {
            Tid4 = input.ReadInt32();
            break;
          }
          case 88: {
            Qty4 = input.ReadInt32();
            break;
          }
          case 96: {
            GoldQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterSkillUpgrade() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterSkillUpgrade> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterSkillUpgrade.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterSkillUpgrade> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterSkillUpgrade>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterSkillUpgrade> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterSkillUpgrade other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterSkillUpgrade other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterSkin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterSkin(CharacterSkin other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      isShow_ = other.isShow_;
      charId_ = other.charId_;
      type_ = other.type_;
      sourceDesc_ = other.sourceDesc_;
      transform_ = other.transform_;
      walkAnimationSpd_ = other.walkAnimationSpd_;
      runAnimationSpd_ = other.runAnimationSpd_;
      spRunAnimationSpd_ = other.spRunAnimationSpd_;
      modelScale_ = other.modelScale_;
      colliderScale_ = other.colliderScale_;
      modelShowScale_ = other.modelShowScale_;
      modelEndScale_ = other.modelEndScale_;
      forbiddenBehitRot_ = other.forbiddenBehitRot_;
      icon_ = other.icon_;
      portrait_ = other.portrait_;
      bg_ = other.bg_;
      offset_ = other.offset_;
      l2D_ = other.l2D_;
      characterCG_ = other.characterCG_;
      model_ = other.model_;
      modelShow_ = other.modelShow_;
      modelEnd_ = other.modelEnd_;
      gachaL2D_ = other.gachaL2D_;
      skinTheme_ = other.skinTheme_;
      effectScaleValue_ = other.effectScaleValue_;
      tagEffectScaleValue_ = other.tagEffectScaleValue_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    /// <summary>Field number for the "ForbiddenBehitRot" field.</summary>
    public const int ForbiddenBehitRotFieldNumber = 16;
    private bool forbiddenBehitRot_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ForbiddenBehitRot {
      get { return forbiddenBehitRot_; }
      set {
        forbiddenBehitRot_ = value;
      }
    }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterSkin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (IsShow != other.IsShow) return false;
      if (CharId != other.CharId) return false;
      if (Type != other.Type) return false;
      if (SourceDesc != other.SourceDesc) return false;
      if (Transform != other.Transform) return false;
      if (WalkAnimationSpd != other.WalkAnimationSpd) return false;
      if (RunAnimationSpd != other.RunAnimationSpd) return false;
      if (SpRunAnimationSpd != other.SpRunAnimationSpd) return false;
      if (ModelScale != other.ModelScale) return false;
      if (ColliderScale != other.ColliderScale) return false;
      if (ModelShowScale != other.ModelShowScale) return false;
      if (ModelEndScale != other.ModelEndScale) return false;
      if (ForbiddenBehitRot != other.ForbiddenBehitRot) return false;
      if (Icon != other.Icon) return false;
      if (Portrait != other.Portrait) return false;
      if (Bg != other.Bg) return false;
      if (Offset != other.Offset) return false;
      if (L2D != other.L2D) return false;
      if (CharacterCG != other.CharacterCG) return false;
      if (Model != other.Model) return false;
      if (ModelShow != other.ModelShow) return false;
      if (ModelEnd != other.ModelEnd) return false;
      if (GachaL2D != other.GachaL2D) return false;
      if (SkinTheme != other.SkinTheme) return false;
      if (EffectScaleValue != other.EffectScaleValue) return false;
      if (TagEffectScaleValue != other.TagEffectScaleValue) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (IsShow != false) hash ^= IsShow.GetHashCode();
      if (CharId != 0) hash ^= CharId.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (SourceDesc != 0) hash ^= SourceDesc.GetHashCode();
      if (Transform.Length != 0) hash ^= Transform.GetHashCode();
      if (WalkAnimationSpd != 0) hash ^= WalkAnimationSpd.GetHashCode();
      if (RunAnimationSpd != 0) hash ^= RunAnimationSpd.GetHashCode();
      if (SpRunAnimationSpd != 0) hash ^= SpRunAnimationSpd.GetHashCode();
      if (ModelScale != 0) hash ^= ModelScale.GetHashCode();
      if (ColliderScale != 0) hash ^= ColliderScale.GetHashCode();
      if (ModelShowScale != 0) hash ^= ModelShowScale.GetHashCode();
      if (ModelEndScale != 0) hash ^= ModelEndScale.GetHashCode();
      if (ForbiddenBehitRot != false) hash ^= ForbiddenBehitRot.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Portrait.Length != 0) hash ^= Portrait.GetHashCode();
      if (Bg.Length != 0) hash ^= Bg.GetHashCode();
      if (Offset.Length != 0) hash ^= Offset.GetHashCode();
      if (L2D.Length != 0) hash ^= L2D.GetHashCode();
      if (CharacterCG != 0) hash ^= CharacterCG.GetHashCode();
      if (Model.Length != 0) hash ^= Model.GetHashCode();
      if (ModelShow.Length != 0) hash ^= ModelShow.GetHashCode();
      if (ModelEnd.Length != 0) hash ^= ModelEnd.GetHashCode();
      if (GachaL2D.Length != 0) hash ^= GachaL2D.GetHashCode();
      if (SkinTheme != 0) hash ^= SkinTheme.GetHashCode();
      if (EffectScaleValue != 0) hash ^= EffectScaleValue.GetHashCode();
      if (TagEffectScaleValue != 0) hash ^= TagEffectScaleValue.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (IsShow != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsShow);
      }
      if (CharId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CharId);
      }
      if (Type != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Type);
      }
      if (SourceDesc != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SourceDesc);
      }
      if (Transform.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Transform);
      }
      if (WalkAnimationSpd != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(WalkAnimationSpd);
      }
      if (RunAnimationSpd != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RunAnimationSpd);
      }
      if (SpRunAnimationSpd != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(SpRunAnimationSpd);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ModelScale);
      }
      if (ColliderScale != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ColliderScale);
      }
      if (ModelShowScale != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ModelShowScale);
      }
      if (ModelEndScale != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ModelEndScale);
      }
      if (ForbiddenBehitRot != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(ForbiddenBehitRot);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Icon);
      }
      if (Portrait.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Portrait);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Bg);
      }
      if (Offset.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Offset);
      }
      if (L2D.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(L2D);
      }
      if (CharacterCG != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(CharacterCG);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Model);
      }
      if (ModelShow.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(ModelShow);
      }
      if (ModelEnd.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(ModelEnd);
      }
      if (GachaL2D.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(GachaL2D);
      }
      if (SkinTheme != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(SkinTheme);
      }
      if (EffectScaleValue != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(EffectScaleValue);
      }
      if (TagEffectScaleValue != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(TagEffectScaleValue);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (IsShow != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsShow);
      }
      if (CharId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CharId);
      }
      if (Type != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Type);
      }
      if (SourceDesc != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SourceDesc);
      }
      if (Transform.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Transform);
      }
      if (WalkAnimationSpd != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(WalkAnimationSpd);
      }
      if (RunAnimationSpd != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RunAnimationSpd);
      }
      if (SpRunAnimationSpd != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(SpRunAnimationSpd);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ModelScale);
      }
      if (ColliderScale != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ColliderScale);
      }
      if (ModelShowScale != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ModelShowScale);
      }
      if (ModelEndScale != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ModelEndScale);
      }
      if (ForbiddenBehitRot != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(ForbiddenBehitRot);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Icon);
      }
      if (Portrait.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Portrait);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Bg);
      }
      if (Offset.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Offset);
      }
      if (L2D.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(L2D);
      }
      if (CharacterCG != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(CharacterCG);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Model);
      }
      if (ModelShow.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(ModelShow);
      }
      if (ModelEnd.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(ModelEnd);
      }
      if (GachaL2D.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(GachaL2D);
      }
      if (SkinTheme != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(SkinTheme);
      }
      if (EffectScaleValue != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(EffectScaleValue);
      }
      if (TagEffectScaleValue != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(TagEffectScaleValue);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (IsShow != false) {
        size += 1 + 1;
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (SourceDesc != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SourceDesc);
      }
      if (Transform.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Transform);
      }
      if (WalkAnimationSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WalkAnimationSpd);
      }
      if (RunAnimationSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RunAnimationSpd);
      }
      if (SpRunAnimationSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpRunAnimationSpd);
      }
      if (ModelScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModelScale);
      }
      if (ColliderScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ColliderScale);
      }
      if (ModelShowScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModelShowScale);
      }
      if (ModelEndScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModelEndScale);
      }
      if (ForbiddenBehitRot != false) {
        size += 2 + 1;
      }
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Portrait.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Portrait);
      }
      if (Bg.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Bg);
      }
      if (Offset.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Offset);
      }
      if (L2D.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(L2D);
      }
      if (CharacterCG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CharacterCG);
      }
      if (Model.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Model);
      }
      if (ModelShow.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ModelShow);
      }
      if (ModelEnd.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ModelEnd);
      }
      if (GachaL2D.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(GachaL2D);
      }
      if (SkinTheme != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkinTheme);
      }
      if (EffectScaleValue != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EffectScaleValue);
      }
      if (TagEffectScaleValue != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TagEffectScaleValue);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterSkin other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.IsShow != false) {
        IsShow = other.IsShow;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.SourceDesc != 0) {
        SourceDesc = other.SourceDesc;
      }
      if (other.Transform.Length != 0) {
        Transform = other.Transform;
      }
      if (other.WalkAnimationSpd != 0) {
        WalkAnimationSpd = other.WalkAnimationSpd;
      }
      if (other.RunAnimationSpd != 0) {
        RunAnimationSpd = other.RunAnimationSpd;
      }
      if (other.SpRunAnimationSpd != 0) {
        SpRunAnimationSpd = other.SpRunAnimationSpd;
      }
      if (other.ModelScale != 0) {
        ModelScale = other.ModelScale;
      }
      if (other.ColliderScale != 0) {
        ColliderScale = other.ColliderScale;
      }
      if (other.ModelShowScale != 0) {
        ModelShowScale = other.ModelShowScale;
      }
      if (other.ModelEndScale != 0) {
        ModelEndScale = other.ModelEndScale;
      }
      if (other.ForbiddenBehitRot != false) {
        ForbiddenBehitRot = other.ForbiddenBehitRot;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Portrait.Length != 0) {
        Portrait = other.Portrait;
      }
      if (other.Bg.Length != 0) {
        Bg = other.Bg;
      }
      if (other.Offset.Length != 0) {
        Offset = other.Offset;
      }
      if (other.L2D.Length != 0) {
        L2D = other.L2D;
      }
      if (other.CharacterCG != 0) {
        CharacterCG = other.CharacterCG;
      }
      if (other.Model.Length != 0) {
        Model = other.Model;
      }
      if (other.ModelShow.Length != 0) {
        ModelShow = other.ModelShow;
      }
      if (other.ModelEnd.Length != 0) {
        ModelEnd = other.ModelEnd;
      }
      if (other.GachaL2D.Length != 0) {
        GachaL2D = other.GachaL2D;
      }
      if (other.SkinTheme != 0) {
        SkinTheme = other.SkinTheme;
      }
      if (other.EffectScaleValue != 0) {
        EffectScaleValue = other.EffectScaleValue;
      }
      if (other.TagEffectScaleValue != 0) {
        TagEffectScaleValue = other.TagEffectScaleValue;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            IsShow = input.ReadBool();
            break;
          }
          case 40: {
            CharId = input.ReadInt32();
            break;
          }
          case 48: {
            Type = input.ReadInt32();
            break;
          }
          case 56: {
            SourceDesc = input.ReadInt32();
            break;
          }
          case 66: {
            Transform = input.ReadString();
            break;
          }
          case 72: {
            WalkAnimationSpd = input.ReadInt32();
            break;
          }
          case 80: {
            RunAnimationSpd = input.ReadInt32();
            break;
          }
          case 88: {
            SpRunAnimationSpd = input.ReadInt32();
            break;
          }
          case 96: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 104: {
            ColliderScale = input.ReadInt32();
            break;
          }
          case 112: {
            ModelShowScale = input.ReadInt32();
            break;
          }
          case 120: {
            ModelEndScale = input.ReadInt32();
            break;
          }
          case 128: {
            ForbiddenBehitRot = input.ReadBool();
            break;
          }
          case 138: {
            Icon = input.ReadString();
            break;
          }
          case 146: {
            Portrait = input.ReadString();
            break;
          }
          case 154: {
            Bg = input.ReadString();
            break;
          }
          case 162: {
            Offset = input.ReadString();
            break;
          }
          case 170: {
            L2D = input.ReadString();
            break;
          }
          case 176: {
            CharacterCG = input.ReadInt32();
            break;
          }
          case 186: {
            Model = input.ReadString();
            break;
          }
          case 194: {
            ModelShow = input.ReadString();
            break;
          }
          case 202: {
            ModelEnd = input.ReadString();
            break;
          }
          case 210: {
            GachaL2D = input.ReadString();
            break;
          }
          case 216: {
            SkinTheme = input.ReadInt32();
            break;
          }
          case 224: {
            EffectScaleValue = input.ReadInt32();
            break;
          }
          case 232: {
            TagEffectScaleValue = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            IsShow = input.ReadBool();
            break;
          }
          case 40: {
            CharId = input.ReadInt32();
            break;
          }
          case 48: {
            Type = input.ReadInt32();
            break;
          }
          case 56: {
            SourceDesc = input.ReadInt32();
            break;
          }
          case 66: {
            Transform = input.ReadString();
            break;
          }
          case 72: {
            WalkAnimationSpd = input.ReadInt32();
            break;
          }
          case 80: {
            RunAnimationSpd = input.ReadInt32();
            break;
          }
          case 88: {
            SpRunAnimationSpd = input.ReadInt32();
            break;
          }
          case 96: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 104: {
            ColliderScale = input.ReadInt32();
            break;
          }
          case 112: {
            ModelShowScale = input.ReadInt32();
            break;
          }
          case 120: {
            ModelEndScale = input.ReadInt32();
            break;
          }
          case 128: {
            ForbiddenBehitRot = input.ReadBool();
            break;
          }
          case 138: {
            Icon = input.ReadString();
            break;
          }
          case 146: {
            Portrait = input.ReadString();
            break;
          }
          case 154: {
            Bg = input.ReadString();
            break;
          }
          case 162: {
            Offset = input.ReadString();
            break;
          }
          case 170: {
            L2D = input.ReadString();
            break;
          }
          case 176: {
            CharacterCG = input.ReadInt32();
            break;
          }
          case 186: {
            Model = input.ReadString();
            break;
          }
          case 194: {
            ModelShow = input.ReadString();
            break;
          }
          case 202: {
            ModelEnd = input.ReadString();
            break;
          }
          case 210: {
            GachaL2D = input.ReadString();
            break;
          }
          case 216: {
            SkinTheme = input.ReadInt32();
            break;
          }
          case 224: {
            EffectScaleValue = input.ReadInt32();
            break;
          }
          case 232: {
            TagEffectScaleValue = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterSkin() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterSkin> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterSkin.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterSkin> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterSkin>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterSkin> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterSkin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterSkin other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterSkinPanelFace() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterSkinPanelFace(CharacterSkinPanelFace other) : this() {
      id_ = other.id_;
      mainView_ = other.mainView_;
      charInfo_ = other.charInfo_;
      battelWin_ = other.battelWin_;
      battleLose_ = other.battleLose_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

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

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

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

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

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

    /// <summary>Field number for the "BattleLose" field.</summary>
    public const int BattleLoseFieldNumber = 5;
    private string battleLose_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BattleLose {
      get { return battleLose_; }
      set {
        battleLose_ = 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 CharacterSkinPanelFace);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterSkinPanelFace other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MainView != other.MainView) return false;
      if (CharInfo != other.CharInfo) return false;
      if (BattelWin != other.BattelWin) return false;
      if (BattleLose != other.BattleLose) 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 (MainView.Length != 0) hash ^= MainView.GetHashCode();
      if (CharInfo.Length != 0) hash ^= CharInfo.GetHashCode();
      if (BattelWin.Length != 0) hash ^= BattelWin.GetHashCode();
      if (BattleLose.Length != 0) hash ^= BattleLose.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.WriteInt32(Id);
      }
      if (MainView.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(MainView);
      }
      if (CharInfo.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CharInfo);
      }
      if (BattelWin.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BattelWin);
      }
      if (BattleLose.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BattleLose);
      }
      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.WriteInt32(Id);
      }
      if (MainView.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(MainView);
      }
      if (CharInfo.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CharInfo);
      }
      if (BattelWin.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BattelWin);
      }
      if (BattleLose.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BattleLose);
      }
      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.ComputeInt32Size(Id);
      }
      if (MainView.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MainView);
      }
      if (CharInfo.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CharInfo);
      }
      if (BattelWin.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BattelWin);
      }
      if (BattleLose.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BattleLose);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterSkinPanelFace other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MainView.Length != 0) {
        MainView = other.MainView;
      }
      if (other.CharInfo.Length != 0) {
        CharInfo = other.CharInfo;
      }
      if (other.BattelWin.Length != 0) {
        BattelWin = other.BattelWin;
      }
      if (other.BattleLose.Length != 0) {
        BattleLose = other.BattleLose;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            MainView = input.ReadString();
            break;
          }
          case 26: {
            CharInfo = input.ReadString();
            break;
          }
          case 34: {
            BattelWin = input.ReadString();
            break;
          }
          case 42: {
            BattleLose = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            MainView = input.ReadString();
            break;
          }
          case 26: {
            CharInfo = input.ReadString();
            break;
          }
          case 34: {
            BattelWin = input.ReadString();
            break;
          }
          case 42: {
            BattleLose = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

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

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

    [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 table_CharacterSkinPanelFace() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterSkinPanelFace> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterSkinPanelFace.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterSkinPanelFace> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterSkinPanelFace>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterSkinPanelFace> List {
      get { return list_; }
    }

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

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterSkinPanelFace other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterSkinPanelFace other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

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

  }

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

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

    [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 CharacterSkinTheme() {
      OnConstruction();
    }

    partial void OnConstruction();

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

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

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

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 4;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 CharacterSkinTheme);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterSkinTheme other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterSkinTheme other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharacterSkinTheme : pb::IMessage<table_CharacterSkinTheme>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharacterSkinTheme> _parser = new pb::MessageParser<table_CharacterSkinTheme>(() => new table_CharacterSkinTheme());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharacterSkinTheme> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[69]; }
    }

    [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 table_CharacterSkinTheme() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterSkinTheme(table_CharacterSkinTheme other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterSkinTheme Clone() {
      return new table_CharacterSkinTheme(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterSkinTheme> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterSkinTheme.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterSkinTheme> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterSkinTheme>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterSkinTheme> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharacterSkinTheme);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterSkinTheme other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterSkinTheme other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharacterTag : pb::IMessage<CharacterTag>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharacterTag> _parser = new pb::MessageParser<CharacterTag>(() => new CharacterTag());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharacterTag> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[70]; }
    }

    [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 CharacterTag() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterTag(CharacterTag other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      tagType_ = other.tagType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterTag Clone() {
      return new CharacterTag(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TagType" field.</summary>
    public const int TagTypeFieldNumber = 3;
    private int tagType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TagType {
      get { return tagType_; }
      set {
        tagType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharacterTag);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterTag other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (TagType != other.TagType) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (TagType != 0) hash ^= TagType.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (TagType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TagType);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (TagType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TagType);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (TagType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TagType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterTag other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.TagType != 0) {
        TagType = other.TagType;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            TagType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            TagType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharacterTag : pb::IMessage<table_CharacterTag>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharacterTag> _parser = new pb::MessageParser<table_CharacterTag>(() => new table_CharacterTag());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharacterTag> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[71]; }
    }

    [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 table_CharacterTag() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterTag(table_CharacterTag other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterTag Clone() {
      return new table_CharacterTag(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterTag> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterTag.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterTag> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterTag>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterTag> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharacterTag);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterTag other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterTag other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharacterUpgrade : pb::IMessage<CharacterUpgrade>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharacterUpgrade> _parser = new pb::MessageParser<CharacterUpgrade>(() => new CharacterUpgrade());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharacterUpgrade> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[72]; }
    }

    [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 CharacterUpgrade() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterUpgrade(CharacterUpgrade other) : this() {
      id_ = other.id_;
      rarity_ = other.rarity_;
      level_ = other.level_;
      exp_ = other.exp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterUpgrade Clone() {
      return new CharacterUpgrade(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Rarity" field.</summary>
    public const int RarityFieldNumber = 2;
    private int rarity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rarity {
      get { return rarity_; }
      set {
        rarity_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 3;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "Exp" field.</summary>
    public const int ExpFieldNumber = 4;
    private int exp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Exp {
      get { return exp_; }
      set {
        exp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharacterUpgrade);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterUpgrade other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Rarity != other.Rarity) return false;
      if (Level != other.Level) return false;
      if (Exp != other.Exp) 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 (Rarity != 0) hash ^= Rarity.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (Exp != 0) hash ^= Exp.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.WriteInt32(Id);
      }
      if (Rarity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Rarity);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (Exp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Exp);
      }
      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.WriteInt32(Id);
      }
      if (Rarity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Rarity);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (Exp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Exp);
      }
      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.ComputeInt32Size(Id);
      }
      if (Rarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rarity);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterUpgrade other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Rarity != 0) {
        Rarity = other.Rarity;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Rarity = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Rarity = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharacterUpgrade : pb::IMessage<table_CharacterUpgrade>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharacterUpgrade> _parser = new pb::MessageParser<table_CharacterUpgrade>(() => new table_CharacterUpgrade());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharacterUpgrade> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[73]; }
    }

    [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 table_CharacterUpgrade() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterUpgrade(table_CharacterUpgrade other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterUpgrade Clone() {
      return new table_CharacterUpgrade(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterUpgrade> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterUpgrade.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterUpgrade> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterUpgrade>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterUpgrade> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharacterUpgrade);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterUpgrade other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterUpgrade other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharacterVoiceControl : pb::IMessage<CharacterVoiceControl>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharacterVoiceControl> _parser = new pb::MessageParser<CharacterVoiceControl>(() => new CharacterVoiceControl());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharacterVoiceControl> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[74]; }
    }

    [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 CharacterVoiceControl() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterVoiceControl(CharacterVoiceControl other) : this() {
      id_ = other.id_;
      probability_ = other.probability_;
      resType_ = other.resType_;
      combatOnly_ = other.combatOnly_;
      worldLevelTypes_ = other.worldLevelTypes_.Clone();
      bubble_ = other.bubble_;
      cd_ = other.cd_;
      voPlayer_ = other.voPlayer_;
      priority_ = other.priority_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharacterVoiceControl Clone() {
      return new CharacterVoiceControl(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "probability" field.</summary>
    public const int ProbabilityFieldNumber = 2;
    private int probability_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Probability {
      get { return probability_; }
      set {
        probability_ = value;
      }
    }

    /// <summary>Field number for the "resType" field.</summary>
    public const int ResTypeFieldNumber = 3;
    private int resType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ResType {
      get { return resType_; }
      set {
        resType_ = value;
      }
    }

    /// <summary>Field number for the "combatOnly" field.</summary>
    public const int CombatOnlyFieldNumber = 4;
    private bool combatOnly_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool CombatOnly {
      get { return combatOnly_; }
      set {
        combatOnly_ = value;
      }
    }

    /// <summary>Field number for the "worldLevelTypes" field.</summary>
    public const int WorldLevelTypesFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_worldLevelTypes_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> worldLevelTypes_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> WorldLevelTypes {
      get { return worldLevelTypes_; }
    }

    /// <summary>Field number for the "bubble" field.</summary>
    public const int BubbleFieldNumber = 6;
    private bool bubble_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Bubble {
      get { return bubble_; }
      set {
        bubble_ = value;
      }
    }

    /// <summary>Field number for the "cd" field.</summary>
    public const int CdFieldNumber = 7;
    private float cd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Cd {
      get { return cd_; }
      set {
        cd_ = value;
      }
    }

    /// <summary>Field number for the "voPlayer" field.</summary>
    public const int VoPlayerFieldNumber = 8;
    private int voPlayer_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int VoPlayer {
      get { return voPlayer_; }
      set {
        voPlayer_ = value;
      }
    }

    /// <summary>Field number for the "priority" field.</summary>
    public const int PriorityFieldNumber = 9;
    private int priority_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Priority {
      get { return priority_; }
      set {
        priority_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharacterVoiceControl);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharacterVoiceControl other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Probability != other.Probability) return false;
      if (ResType != other.ResType) return false;
      if (CombatOnly != other.CombatOnly) return false;
      if(!worldLevelTypes_.Equals(other.worldLevelTypes_)) return false;
      if (Bubble != other.Bubble) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Cd, other.Cd)) return false;
      if (VoPlayer != other.VoPlayer) return false;
      if (Priority != other.Priority) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Probability != 0) hash ^= Probability.GetHashCode();
      if (ResType != 0) hash ^= ResType.GetHashCode();
      if (CombatOnly != false) hash ^= CombatOnly.GetHashCode();
      hash ^= worldLevelTypes_.GetHashCode();
      if (Bubble != false) hash ^= Bubble.GetHashCode();
      if (Cd != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Cd);
      if (VoPlayer != 0) hash ^= VoPlayer.GetHashCode();
      if (Priority != 0) hash ^= Priority.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Probability != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Probability);
      }
      if (ResType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ResType);
      }
      if (CombatOnly != false) {
        output.WriteRawTag(32);
        output.WriteBool(CombatOnly);
      }
      worldLevelTypes_.WriteTo(output, _repeated_worldLevelTypes_codec);
      if (Bubble != false) {
        output.WriteRawTag(48);
        output.WriteBool(Bubble);
      }
      if (Cd != 0F) {
        output.WriteRawTag(61);
        output.WriteFloat(Cd);
      }
      if (VoPlayer != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(VoPlayer);
      }
      if (Priority != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Priority);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Probability != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Probability);
      }
      if (ResType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ResType);
      }
      if (CombatOnly != false) {
        output.WriteRawTag(32);
        output.WriteBool(CombatOnly);
      }
      worldLevelTypes_.WriteTo(ref output, _repeated_worldLevelTypes_codec);
      if (Bubble != false) {
        output.WriteRawTag(48);
        output.WriteBool(Bubble);
      }
      if (Cd != 0F) {
        output.WriteRawTag(61);
        output.WriteFloat(Cd);
      }
      if (VoPlayer != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(VoPlayer);
      }
      if (Priority != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Priority);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Probability != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Probability);
      }
      if (ResType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ResType);
      }
      if (CombatOnly != false) {
        size += 1 + 1;
      }
      size += worldLevelTypes_.CalculateSize(_repeated_worldLevelTypes_codec);
      if (Bubble != false) {
        size += 1 + 1;
      }
      if (Cd != 0F) {
        size += 1 + 4;
      }
      if (VoPlayer != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(VoPlayer);
      }
      if (Priority != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priority);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharacterVoiceControl other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Probability != 0) {
        Probability = other.Probability;
      }
      if (other.ResType != 0) {
        ResType = other.ResType;
      }
      if (other.CombatOnly != false) {
        CombatOnly = other.CombatOnly;
      }
      worldLevelTypes_.Add(other.worldLevelTypes_);
      if (other.Bubble != false) {
        Bubble = other.Bubble;
      }
      if (other.Cd != 0F) {
        Cd = other.Cd;
      }
      if (other.VoPlayer != 0) {
        VoPlayer = other.VoPlayer;
      }
      if (other.Priority != 0) {
        Priority = other.Priority;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 16: {
            Probability = input.ReadInt32();
            break;
          }
          case 24: {
            ResType = input.ReadInt32();
            break;
          }
          case 32: {
            CombatOnly = input.ReadBool();
            break;
          }
          case 42:
          case 40: {
            worldLevelTypes_.AddEntriesFrom(input, _repeated_worldLevelTypes_codec);
            break;
          }
          case 48: {
            Bubble = input.ReadBool();
            break;
          }
          case 61: {
            Cd = input.ReadFloat();
            break;
          }
          case 64: {
            VoPlayer = input.ReadInt32();
            break;
          }
          case 72: {
            Priority = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 16: {
            Probability = input.ReadInt32();
            break;
          }
          case 24: {
            ResType = input.ReadInt32();
            break;
          }
          case 32: {
            CombatOnly = input.ReadBool();
            break;
          }
          case 42:
          case 40: {
            worldLevelTypes_.AddEntriesFrom(ref input, _repeated_worldLevelTypes_codec);
            break;
          }
          case 48: {
            Bubble = input.ReadBool();
            break;
          }
          case 61: {
            Cd = input.ReadFloat();
            break;
          }
          case 64: {
            VoPlayer = input.ReadInt32();
            break;
          }
          case 72: {
            Priority = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharacterVoiceControl : pb::IMessage<table_CharacterVoiceControl>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharacterVoiceControl> _parser = new pb::MessageParser<table_CharacterVoiceControl>(() => new table_CharacterVoiceControl());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharacterVoiceControl> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[75]; }
    }

    [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 table_CharacterVoiceControl() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterVoiceControl(table_CharacterVoiceControl other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharacterVoiceControl Clone() {
      return new table_CharacterVoiceControl(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharacterVoiceControl> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharacterVoiceControl.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharacterVoiceControl> list_ = new pbc::RepeatedField<global::Nova.Client.CharacterVoiceControl>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharacterVoiceControl> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharacterVoiceControl);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharacterVoiceControl other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharacterVoiceControl other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharAffinityTemplate : pb::IMessage<CharAffinityTemplate>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharAffinityTemplate> _parser = new pb::MessageParser<CharAffinityTemplate>(() => new CharAffinityTemplate());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharAffinityTemplate> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[76]; }
    }

    [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 CharAffinityTemplate() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharAffinityTemplate(CharAffinityTemplate other) : this() {
      id_ = other.id_;
      templateId_ = other.templateId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharAffinityTemplate Clone() {
      return new CharAffinityTemplate(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "TemplateId" field.</summary>
    public const int TemplateIdFieldNumber = 2;
    private int templateId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TemplateId {
      get { return templateId_; }
      set {
        templateId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharAffinityTemplate);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharAffinityTemplate other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (TemplateId != other.TemplateId) 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 (TemplateId != 0) hash ^= TemplateId.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.WriteInt32(Id);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TemplateId);
      }
      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.WriteInt32(Id);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TemplateId);
      }
      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.ComputeInt32Size(Id);
      }
      if (TemplateId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TemplateId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharAffinityTemplate other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.TemplateId != 0) {
        TemplateId = other.TemplateId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            TemplateId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            TemplateId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharAffinityTemplate : pb::IMessage<table_CharAffinityTemplate>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharAffinityTemplate> _parser = new pb::MessageParser<table_CharAffinityTemplate>(() => new table_CharAffinityTemplate());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharAffinityTemplate> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[77]; }
    }

    [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 table_CharAffinityTemplate() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharAffinityTemplate(table_CharAffinityTemplate other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharAffinityTemplate Clone() {
      return new table_CharAffinityTemplate(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharAffinityTemplate> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharAffinityTemplate.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharAffinityTemplate> list_ = new pbc::RepeatedField<global::Nova.Client.CharAffinityTemplate>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharAffinityTemplate> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharAffinityTemplate);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharAffinityTemplate other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharAffinityTemplate other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharGrade : pb::IMessage<CharGrade>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharGrade> _parser = new pb::MessageParser<CharGrade>(() => new CharGrade());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharGrade> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[78]; }
    }

    [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 CharGrade() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharGrade(CharGrade other) : this() {
      grade_ = other.grade_;
      fragmentsQty_ = other.fragmentsQty_;
      generalFragmentId_ = other.generalFragmentId_;
      substituteItemId_ = other.substituteItemId_;
      substituteItemQty_ = other.substituteItemQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharGrade Clone() {
      return new CharGrade(this);
    }

    /// <summary>Field number for the "Grade" field.</summary>
    public const int GradeFieldNumber = 1;
    private int grade_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Grade {
      get { return grade_; }
      set {
        grade_ = value;
      }
    }

    /// <summary>Field number for the "FragmentsQty" field.</summary>
    public const int FragmentsQtyFieldNumber = 2;
    private int fragmentsQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FragmentsQty {
      get { return fragmentsQty_; }
      set {
        fragmentsQty_ = value;
      }
    }

    /// <summary>Field number for the "GeneralFragmentId" field.</summary>
    public const int GeneralFragmentIdFieldNumber = 3;
    private int generalFragmentId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GeneralFragmentId {
      get { return generalFragmentId_; }
      set {
        generalFragmentId_ = value;
      }
    }

    /// <summary>Field number for the "SubstituteItemId" field.</summary>
    public const int SubstituteItemIdFieldNumber = 4;
    private int substituteItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SubstituteItemId {
      get { return substituteItemId_; }
      set {
        substituteItemId_ = value;
      }
    }

    /// <summary>Field number for the "SubstituteItemQty" field.</summary>
    public const int SubstituteItemQtyFieldNumber = 5;
    private int substituteItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SubstituteItemQty {
      get { return substituteItemQty_; }
      set {
        substituteItemQty_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharGrade);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharGrade other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Grade != other.Grade) return false;
      if (FragmentsQty != other.FragmentsQty) return false;
      if (GeneralFragmentId != other.GeneralFragmentId) return false;
      if (SubstituteItemId != other.SubstituteItemId) return false;
      if (SubstituteItemQty != other.SubstituteItemQty) 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 (Grade != 0) hash ^= Grade.GetHashCode();
      if (FragmentsQty != 0) hash ^= FragmentsQty.GetHashCode();
      if (GeneralFragmentId != 0) hash ^= GeneralFragmentId.GetHashCode();
      if (SubstituteItemId != 0) hash ^= SubstituteItemId.GetHashCode();
      if (SubstituteItemQty != 0) hash ^= SubstituteItemQty.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 (Grade != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Grade);
      }
      if (FragmentsQty != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FragmentsQty);
      }
      if (GeneralFragmentId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GeneralFragmentId);
      }
      if (SubstituteItemId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(SubstituteItemId);
      }
      if (SubstituteItemQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SubstituteItemQty);
      }
      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 (Grade != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Grade);
      }
      if (FragmentsQty != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FragmentsQty);
      }
      if (GeneralFragmentId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GeneralFragmentId);
      }
      if (SubstituteItemId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(SubstituteItemId);
      }
      if (SubstituteItemQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SubstituteItemQty);
      }
      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 (Grade != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Grade);
      }
      if (FragmentsQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FragmentsQty);
      }
      if (GeneralFragmentId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GeneralFragmentId);
      }
      if (SubstituteItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SubstituteItemId);
      }
      if (SubstituteItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SubstituteItemQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharGrade other) {
      if (other == null) {
        return;
      }
      if (other.Grade != 0) {
        Grade = other.Grade;
      }
      if (other.FragmentsQty != 0) {
        FragmentsQty = other.FragmentsQty;
      }
      if (other.GeneralFragmentId != 0) {
        GeneralFragmentId = other.GeneralFragmentId;
      }
      if (other.SubstituteItemId != 0) {
        SubstituteItemId = other.SubstituteItemId;
      }
      if (other.SubstituteItemQty != 0) {
        SubstituteItemQty = other.SubstituteItemQty;
      }
      _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: {
            Grade = input.ReadInt32();
            break;
          }
          case 16: {
            FragmentsQty = input.ReadInt32();
            break;
          }
          case 24: {
            GeneralFragmentId = input.ReadInt32();
            break;
          }
          case 32: {
            SubstituteItemId = input.ReadInt32();
            break;
          }
          case 40: {
            SubstituteItemQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Grade = input.ReadInt32();
            break;
          }
          case 16: {
            FragmentsQty = input.ReadInt32();
            break;
          }
          case 24: {
            GeneralFragmentId = input.ReadInt32();
            break;
          }
          case 32: {
            SubstituteItemId = input.ReadInt32();
            break;
          }
          case 40: {
            SubstituteItemQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharGrade : pb::IMessage<table_CharGrade>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharGrade> _parser = new pb::MessageParser<table_CharGrade>(() => new table_CharGrade());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharGrade> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[79]; }
    }

    [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 table_CharGrade() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharGrade(table_CharGrade other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharGrade Clone() {
      return new table_CharGrade(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharGrade> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharGrade.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharGrade> list_ = new pbc::RepeatedField<global::Nova.Client.CharGrade>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharGrade> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharGrade);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharGrade other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharGrade other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharItemExp : pb::IMessage<CharItemExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharItemExp> _parser = new pb::MessageParser<CharItemExp>(() => new CharItemExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharItemExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[80]; }
    }

    [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 CharItemExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharItemExp(CharItemExp other) : this() {
      id_ = other.id_;
      itemId_ = other.itemId_;
      expValue_ = other.expValue_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharItemExp Clone() {
      return new CharItemExp(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 2;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ExpValue" field.</summary>
    public const int ExpValueFieldNumber = 3;
    private int expValue_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExpValue {
      get { return expValue_; }
      set {
        expValue_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharItemExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharItemExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ItemId != other.ItemId) return false;
      if (ExpValue != other.ExpValue) 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 (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ExpValue != 0) hash ^= ExpValue.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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (ExpValue != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ExpValue);
      }
      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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (ExpValue != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ExpValue);
      }
      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.ComputeInt32Size(Id);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ExpValue != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExpValue);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharItemExp other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ExpValue != 0) {
        ExpValue = other.ExpValue;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            ExpValue = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            ExpValue = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharItemExp : pb::IMessage<table_CharItemExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharItemExp> _parser = new pb::MessageParser<table_CharItemExp>(() => new table_CharItemExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharItemExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[81]; }
    }

    [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 table_CharItemExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharItemExp(table_CharItemExp other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharItemExp Clone() {
      return new table_CharItemExp(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharItemExp> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharItemExp.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharItemExp> list_ = new pbc::RepeatedField<global::Nova.Client.CharItemExp>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharItemExp> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharItemExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharItemExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharItemExp other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharPotential : pb::IMessage<CharPotential>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharPotential> _parser = new pb::MessageParser<CharPotential>(() => new CharPotential());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharPotential> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[82]; }
    }

    [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 CharPotential() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharPotential(CharPotential other) : this() {
      id_ = other.id_;
      masterSpecificPotentialIds_ = other.masterSpecificPotentialIds_.Clone();
      assistSpecificPotentialIds_ = other.assistSpecificPotentialIds_.Clone();
      commonPotentialIds_ = other.commonPotentialIds_.Clone();
      masterNormalPotentialIds_ = other.masterNormalPotentialIds_.Clone();
      assistNormalPotentialIds_ = other.assistNormalPotentialIds_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharPotential Clone() {
      return new CharPotential(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MasterSpecificPotentialIds" field.</summary>
    public const int MasterSpecificPotentialIdsFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_masterSpecificPotentialIds_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> masterSpecificPotentialIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> MasterSpecificPotentialIds {
      get { return masterSpecificPotentialIds_; }
    }

    /// <summary>Field number for the "AssistSpecificPotentialIds" field.</summary>
    public const int AssistSpecificPotentialIdsFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_assistSpecificPotentialIds_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> assistSpecificPotentialIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AssistSpecificPotentialIds {
      get { return assistSpecificPotentialIds_; }
    }

    /// <summary>Field number for the "CommonPotentialIds" field.</summary>
    public const int CommonPotentialIdsFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_commonPotentialIds_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> commonPotentialIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CommonPotentialIds {
      get { return commonPotentialIds_; }
    }

    /// <summary>Field number for the "MasterNormalPotentialIds" field.</summary>
    public const int MasterNormalPotentialIdsFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_masterNormalPotentialIds_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> masterNormalPotentialIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> MasterNormalPotentialIds {
      get { return masterNormalPotentialIds_; }
    }

    /// <summary>Field number for the "AssistNormalPotentialIds" field.</summary>
    public const int AssistNormalPotentialIdsFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_assistNormalPotentialIds_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> assistNormalPotentialIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AssistNormalPotentialIds {
      get { return assistNormalPotentialIds_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharPotential);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharPotential other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!masterSpecificPotentialIds_.Equals(other.masterSpecificPotentialIds_)) return false;
      if(!assistSpecificPotentialIds_.Equals(other.assistSpecificPotentialIds_)) return false;
      if(!commonPotentialIds_.Equals(other.commonPotentialIds_)) return false;
      if(!masterNormalPotentialIds_.Equals(other.masterNormalPotentialIds_)) return false;
      if(!assistNormalPotentialIds_.Equals(other.assistNormalPotentialIds_)) 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();
      hash ^= masterSpecificPotentialIds_.GetHashCode();
      hash ^= assistSpecificPotentialIds_.GetHashCode();
      hash ^= commonPotentialIds_.GetHashCode();
      hash ^= masterNormalPotentialIds_.GetHashCode();
      hash ^= assistNormalPotentialIds_.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.WriteInt32(Id);
      }
      masterSpecificPotentialIds_.WriteTo(output, _repeated_masterSpecificPotentialIds_codec);
      assistSpecificPotentialIds_.WriteTo(output, _repeated_assistSpecificPotentialIds_codec);
      commonPotentialIds_.WriteTo(output, _repeated_commonPotentialIds_codec);
      masterNormalPotentialIds_.WriteTo(output, _repeated_masterNormalPotentialIds_codec);
      assistNormalPotentialIds_.WriteTo(output, _repeated_assistNormalPotentialIds_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      masterSpecificPotentialIds_.WriteTo(ref output, _repeated_masterSpecificPotentialIds_codec);
      assistSpecificPotentialIds_.WriteTo(ref output, _repeated_assistSpecificPotentialIds_codec);
      commonPotentialIds_.WriteTo(ref output, _repeated_commonPotentialIds_codec);
      masterNormalPotentialIds_.WriteTo(ref output, _repeated_masterNormalPotentialIds_codec);
      assistNormalPotentialIds_.WriteTo(ref output, _repeated_assistNormalPotentialIds_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      size += masterSpecificPotentialIds_.CalculateSize(_repeated_masterSpecificPotentialIds_codec);
      size += assistSpecificPotentialIds_.CalculateSize(_repeated_assistSpecificPotentialIds_codec);
      size += commonPotentialIds_.CalculateSize(_repeated_commonPotentialIds_codec);
      size += masterNormalPotentialIds_.CalculateSize(_repeated_masterNormalPotentialIds_codec);
      size += assistNormalPotentialIds_.CalculateSize(_repeated_assistNormalPotentialIds_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharPotential other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      masterSpecificPotentialIds_.Add(other.masterSpecificPotentialIds_);
      assistSpecificPotentialIds_.Add(other.assistSpecificPotentialIds_);
      commonPotentialIds_.Add(other.commonPotentialIds_);
      masterNormalPotentialIds_.Add(other.masterNormalPotentialIds_);
      assistNormalPotentialIds_.Add(other.assistNormalPotentialIds_);
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            masterSpecificPotentialIds_.AddEntriesFrom(input, _repeated_masterSpecificPotentialIds_codec);
            break;
          }
          case 26:
          case 24: {
            assistSpecificPotentialIds_.AddEntriesFrom(input, _repeated_assistSpecificPotentialIds_codec);
            break;
          }
          case 34:
          case 32: {
            commonPotentialIds_.AddEntriesFrom(input, _repeated_commonPotentialIds_codec);
            break;
          }
          case 42:
          case 40: {
            masterNormalPotentialIds_.AddEntriesFrom(input, _repeated_masterNormalPotentialIds_codec);
            break;
          }
          case 50:
          case 48: {
            assistNormalPotentialIds_.AddEntriesFrom(input, _repeated_assistNormalPotentialIds_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            masterSpecificPotentialIds_.AddEntriesFrom(ref input, _repeated_masterSpecificPotentialIds_codec);
            break;
          }
          case 26:
          case 24: {
            assistSpecificPotentialIds_.AddEntriesFrom(ref input, _repeated_assistSpecificPotentialIds_codec);
            break;
          }
          case 34:
          case 32: {
            commonPotentialIds_.AddEntriesFrom(ref input, _repeated_commonPotentialIds_codec);
            break;
          }
          case 42:
          case 40: {
            masterNormalPotentialIds_.AddEntriesFrom(ref input, _repeated_masterNormalPotentialIds_codec);
            break;
          }
          case 50:
          case 48: {
            assistNormalPotentialIds_.AddEntriesFrom(ref input, _repeated_assistNormalPotentialIds_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharPotential : pb::IMessage<table_CharPotential>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharPotential> _parser = new pb::MessageParser<table_CharPotential>(() => new table_CharPotential());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharPotential> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[83]; }
    }

    [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 table_CharPotential() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharPotential(table_CharPotential other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharPotential Clone() {
      return new table_CharPotential(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharPotential> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharPotential.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharPotential> list_ = new pbc::RepeatedField<global::Nova.Client.CharPotential>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharPotential> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharPotential);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharPotential other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharPotential other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class CharRaritySequence : pb::IMessage<CharRaritySequence>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<CharRaritySequence> _parser = new pb::MessageParser<CharRaritySequence>(() => new CharRaritySequence());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<CharRaritySequence> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[84]; }
    }

    [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 CharRaritySequence() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharRaritySequence(CharRaritySequence other) : this() {
      id_ = other.id_;
      grade_ = other.grade_;
      advanceLvl_ = other.advanceLvl_;
      lvLimit_ = other.lvLimit_;
      worldClassLimit_ = other.worldClassLimit_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public CharRaritySequence Clone() {
      return new CharRaritySequence(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Grade" field.</summary>
    public const int GradeFieldNumber = 2;
    private int grade_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Grade {
      get { return grade_; }
      set {
        grade_ = value;
      }
    }

    /// <summary>Field number for the "AdvanceLvl" field.</summary>
    public const int AdvanceLvlFieldNumber = 3;
    private int advanceLvl_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AdvanceLvl {
      get { return advanceLvl_; }
      set {
        advanceLvl_ = value;
      }
    }

    /// <summary>Field number for the "LvLimit" field.</summary>
    public const int LvLimitFieldNumber = 4;
    private int lvLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LvLimit {
      get { return lvLimit_; }
      set {
        lvLimit_ = value;
      }
    }

    /// <summary>Field number for the "WorldClassLimit" field.</summary>
    public const int WorldClassLimitFieldNumber = 5;
    private int worldClassLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WorldClassLimit {
      get { return worldClassLimit_; }
      set {
        worldClassLimit_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as CharRaritySequence);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(CharRaritySequence other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Grade != other.Grade) return false;
      if (AdvanceLvl != other.AdvanceLvl) return false;
      if (LvLimit != other.LvLimit) return false;
      if (WorldClassLimit != other.WorldClassLimit) 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 (Grade != 0) hash ^= Grade.GetHashCode();
      if (AdvanceLvl != 0) hash ^= AdvanceLvl.GetHashCode();
      if (LvLimit != 0) hash ^= LvLimit.GetHashCode();
      if (WorldClassLimit != 0) hash ^= WorldClassLimit.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.WriteInt32(Id);
      }
      if (Grade != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Grade);
      }
      if (AdvanceLvl != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AdvanceLvl);
      }
      if (LvLimit != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LvLimit);
      }
      if (WorldClassLimit != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(WorldClassLimit);
      }
      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.WriteInt32(Id);
      }
      if (Grade != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Grade);
      }
      if (AdvanceLvl != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AdvanceLvl);
      }
      if (LvLimit != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LvLimit);
      }
      if (WorldClassLimit != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(WorldClassLimit);
      }
      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.ComputeInt32Size(Id);
      }
      if (Grade != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Grade);
      }
      if (AdvanceLvl != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdvanceLvl);
      }
      if (LvLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LvLimit);
      }
      if (WorldClassLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClassLimit);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(CharRaritySequence other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Grade != 0) {
        Grade = other.Grade;
      }
      if (other.AdvanceLvl != 0) {
        AdvanceLvl = other.AdvanceLvl;
      }
      if (other.LvLimit != 0) {
        LvLimit = other.LvLimit;
      }
      if (other.WorldClassLimit != 0) {
        WorldClassLimit = other.WorldClassLimit;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Grade = input.ReadInt32();
            break;
          }
          case 24: {
            AdvanceLvl = input.ReadInt32();
            break;
          }
          case 32: {
            LvLimit = input.ReadInt32();
            break;
          }
          case 40: {
            WorldClassLimit = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Grade = input.ReadInt32();
            break;
          }
          case 24: {
            AdvanceLvl = input.ReadInt32();
            break;
          }
          case 32: {
            LvLimit = input.ReadInt32();
            break;
          }
          case 40: {
            WorldClassLimit = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_CharRaritySequence : pb::IMessage<table_CharRaritySequence>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_CharRaritySequence> _parser = new pb::MessageParser<table_CharRaritySequence>(() => new table_CharRaritySequence());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_CharRaritySequence> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[85]; }
    }

    [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 table_CharRaritySequence() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharRaritySequence(table_CharRaritySequence other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_CharRaritySequence Clone() {
      return new table_CharRaritySequence(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.CharRaritySequence> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.CharRaritySequence.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.CharRaritySequence> list_ = new pbc::RepeatedField<global::Nova.Client.CharRaritySequence>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.CharRaritySequence> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_CharRaritySequence);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_CharRaritySequence other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_CharRaritySequence other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Chat : pb::IMessage<Chat>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Chat> _parser = new pb::MessageParser<Chat>(() => new Chat());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Chat> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[86]; }
    }

    [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 Chat() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Chat(Chat other) : this() {
      id_ = other.id_;
      addressBookId_ = other.addressBookId_;
      aVGId_ = other.aVGId_;
      aVGGroupId_ = other.aVGGroupId_;
      preChatId_ = other.preChatId_;
      priority_ = other.priority_;
      triggerType_ = other.triggerType_;
      autoPopUp_ = other.autoPopUp_;
      triggerCond_ = other.triggerCond_;
      triggerCondParam_ = other.triggerCondParam_;
      reward1_ = other.reward1_;
      rewardQty1_ = other.rewardQty1_;
      reward2_ = other.reward2_;
      rewardQty2_ = other.rewardQty2_;
      reward3_ = other.reward3_;
      rewardQty3_ = other.rewardQty3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Chat Clone() {
      return new Chat(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "AddressBookId" field.</summary>
    public const int AddressBookIdFieldNumber = 2;
    private int addressBookId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AddressBookId {
      get { return addressBookId_; }
      set {
        addressBookId_ = value;
      }
    }

    /// <summary>Field number for the "AVGId" field.</summary>
    public const int AVGIdFieldNumber = 3;
    private string aVGId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AVGId {
      get { return aVGId_; }
      set {
        aVGId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AVGGroupId" field.</summary>
    public const int AVGGroupIdFieldNumber = 4;
    private string aVGGroupId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AVGGroupId {
      get { return aVGGroupId_; }
      set {
        aVGGroupId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PreChatId" field.</summary>
    public const int PreChatIdFieldNumber = 5;
    private int preChatId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreChatId {
      get { return preChatId_; }
      set {
        preChatId_ = value;
      }
    }

    /// <summary>Field number for the "Priority" field.</summary>
    public const int PriorityFieldNumber = 6;
    private int priority_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Priority {
      get { return priority_; }
      set {
        priority_ = value;
      }
    }

    /// <summary>Field number for the "TriggerType" field.</summary>
    public const int TriggerTypeFieldNumber = 7;
    private int triggerType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerType {
      get { return triggerType_; }
      set {
        triggerType_ = value;
      }
    }

    /// <summary>Field number for the "AutoPopUp" field.</summary>
    public const int AutoPopUpFieldNumber = 8;
    private bool autoPopUp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool AutoPopUp {
      get { return autoPopUp_; }
      set {
        autoPopUp_ = value;
      }
    }

    /// <summary>Field number for the "TriggerCond" field.</summary>
    public const int TriggerCondFieldNumber = 9;
    private int triggerCond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerCond {
      get { return triggerCond_; }
      set {
        triggerCond_ = value;
      }
    }

    /// <summary>Field number for the "TriggerCondParam" field.</summary>
    public const int TriggerCondParamFieldNumber = 10;
    private string triggerCondParam_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerCondParam {
      get { return triggerCondParam_; }
      set {
        triggerCondParam_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Reward1" field.</summary>
    public const int Reward1FieldNumber = 11;
    private int reward1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward1 {
      get { return reward1_; }
      set {
        reward1_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty1" field.</summary>
    public const int RewardQty1FieldNumber = 12;
    private int rewardQty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty1 {
      get { return rewardQty1_; }
      set {
        rewardQty1_ = value;
      }
    }

    /// <summary>Field number for the "Reward2" field.</summary>
    public const int Reward2FieldNumber = 13;
    private int reward2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward2 {
      get { return reward2_; }
      set {
        reward2_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty2" field.</summary>
    public const int RewardQty2FieldNumber = 14;
    private int rewardQty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty2 {
      get { return rewardQty2_; }
      set {
        rewardQty2_ = value;
      }
    }

    /// <summary>Field number for the "Reward3" field.</summary>
    public const int Reward3FieldNumber = 15;
    private int reward3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward3 {
      get { return reward3_; }
      set {
        reward3_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty3" field.</summary>
    public const int RewardQty3FieldNumber = 16;
    private int rewardQty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty3 {
      get { return rewardQty3_; }
      set {
        rewardQty3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Chat);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Chat other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (AddressBookId != other.AddressBookId) return false;
      if (AVGId != other.AVGId) return false;
      if (AVGGroupId != other.AVGGroupId) return false;
      if (PreChatId != other.PreChatId) return false;
      if (Priority != other.Priority) return false;
      if (TriggerType != other.TriggerType) return false;
      if (AutoPopUp != other.AutoPopUp) return false;
      if (TriggerCond != other.TriggerCond) return false;
      if (TriggerCondParam != other.TriggerCondParam) return false;
      if (Reward1 != other.Reward1) return false;
      if (RewardQty1 != other.RewardQty1) return false;
      if (Reward2 != other.Reward2) return false;
      if (RewardQty2 != other.RewardQty2) return false;
      if (Reward3 != other.Reward3) return false;
      if (RewardQty3 != other.RewardQty3) 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 (AddressBookId != 0) hash ^= AddressBookId.GetHashCode();
      if (AVGId.Length != 0) hash ^= AVGId.GetHashCode();
      if (AVGGroupId.Length != 0) hash ^= AVGGroupId.GetHashCode();
      if (PreChatId != 0) hash ^= PreChatId.GetHashCode();
      if (Priority != 0) hash ^= Priority.GetHashCode();
      if (TriggerType != 0) hash ^= TriggerType.GetHashCode();
      if (AutoPopUp != false) hash ^= AutoPopUp.GetHashCode();
      if (TriggerCond != 0) hash ^= TriggerCond.GetHashCode();
      if (TriggerCondParam.Length != 0) hash ^= TriggerCondParam.GetHashCode();
      if (Reward1 != 0) hash ^= Reward1.GetHashCode();
      if (RewardQty1 != 0) hash ^= RewardQty1.GetHashCode();
      if (Reward2 != 0) hash ^= Reward2.GetHashCode();
      if (RewardQty2 != 0) hash ^= RewardQty2.GetHashCode();
      if (Reward3 != 0) hash ^= Reward3.GetHashCode();
      if (RewardQty3 != 0) hash ^= RewardQty3.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.WriteInt32(Id);
      }
      if (AddressBookId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AddressBookId);
      }
      if (AVGId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AVGId);
      }
      if (AVGGroupId.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AVGGroupId);
      }
      if (PreChatId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PreChatId);
      }
      if (Priority != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Priority);
      }
      if (TriggerType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(TriggerType);
      }
      if (AutoPopUp != false) {
        output.WriteRawTag(64);
        output.WriteBool(AutoPopUp);
      }
      if (TriggerCond != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TriggerCond);
      }
      if (TriggerCondParam.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(TriggerCondParam);
      }
      if (Reward1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(RewardQty3);
      }
      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.WriteInt32(Id);
      }
      if (AddressBookId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AddressBookId);
      }
      if (AVGId.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AVGId);
      }
      if (AVGGroupId.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AVGGroupId);
      }
      if (PreChatId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PreChatId);
      }
      if (Priority != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Priority);
      }
      if (TriggerType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(TriggerType);
      }
      if (AutoPopUp != false) {
        output.WriteRawTag(64);
        output.WriteBool(AutoPopUp);
      }
      if (TriggerCond != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TriggerCond);
      }
      if (TriggerCondParam.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(TriggerCondParam);
      }
      if (Reward1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(RewardQty3);
      }
      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.ComputeInt32Size(Id);
      }
      if (AddressBookId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AddressBookId);
      }
      if (AVGId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AVGId);
      }
      if (AVGGroupId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AVGGroupId);
      }
      if (PreChatId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreChatId);
      }
      if (Priority != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priority);
      }
      if (TriggerType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TriggerType);
      }
      if (AutoPopUp != false) {
        size += 1 + 1;
      }
      if (TriggerCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TriggerCond);
      }
      if (TriggerCondParam.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerCondParam);
      }
      if (Reward1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward1);
      }
      if (RewardQty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty1);
      }
      if (Reward2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward2);
      }
      if (RewardQty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty2);
      }
      if (Reward3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward3);
      }
      if (RewardQty3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RewardQty3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Chat other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.AddressBookId != 0) {
        AddressBookId = other.AddressBookId;
      }
      if (other.AVGId.Length != 0) {
        AVGId = other.AVGId;
      }
      if (other.AVGGroupId.Length != 0) {
        AVGGroupId = other.AVGGroupId;
      }
      if (other.PreChatId != 0) {
        PreChatId = other.PreChatId;
      }
      if (other.Priority != 0) {
        Priority = other.Priority;
      }
      if (other.TriggerType != 0) {
        TriggerType = other.TriggerType;
      }
      if (other.AutoPopUp != false) {
        AutoPopUp = other.AutoPopUp;
      }
      if (other.TriggerCond != 0) {
        TriggerCond = other.TriggerCond;
      }
      if (other.TriggerCondParam.Length != 0) {
        TriggerCondParam = other.TriggerCondParam;
      }
      if (other.Reward1 != 0) {
        Reward1 = other.Reward1;
      }
      if (other.RewardQty1 != 0) {
        RewardQty1 = other.RewardQty1;
      }
      if (other.Reward2 != 0) {
        Reward2 = other.Reward2;
      }
      if (other.RewardQty2 != 0) {
        RewardQty2 = other.RewardQty2;
      }
      if (other.Reward3 != 0) {
        Reward3 = other.Reward3;
      }
      if (other.RewardQty3 != 0) {
        RewardQty3 = other.RewardQty3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            AddressBookId = input.ReadInt32();
            break;
          }
          case 26: {
            AVGId = input.ReadString();
            break;
          }
          case 34: {
            AVGGroupId = input.ReadString();
            break;
          }
          case 40: {
            PreChatId = input.ReadInt32();
            break;
          }
          case 48: {
            Priority = input.ReadInt32();
            break;
          }
          case 56: {
            TriggerType = input.ReadInt32();
            break;
          }
          case 64: {
            AutoPopUp = input.ReadBool();
            break;
          }
          case 72: {
            TriggerCond = input.ReadInt32();
            break;
          }
          case 82: {
            TriggerCondParam = input.ReadString();
            break;
          }
          case 88: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 96: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 104: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 112: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 120: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 128: {
            RewardQty3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            AddressBookId = input.ReadInt32();
            break;
          }
          case 26: {
            AVGId = input.ReadString();
            break;
          }
          case 34: {
            AVGGroupId = input.ReadString();
            break;
          }
          case 40: {
            PreChatId = input.ReadInt32();
            break;
          }
          case 48: {
            Priority = input.ReadInt32();
            break;
          }
          case 56: {
            TriggerType = input.ReadInt32();
            break;
          }
          case 64: {
            AutoPopUp = input.ReadBool();
            break;
          }
          case 72: {
            TriggerCond = input.ReadInt32();
            break;
          }
          case 82: {
            TriggerCondParam = input.ReadString();
            break;
          }
          case 88: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 96: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 104: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 112: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 120: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 128: {
            RewardQty3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Chat : pb::IMessage<table_Chat>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Chat> _parser = new pb::MessageParser<table_Chat>(() => new table_Chat());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Chat> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[87]; }
    }

    [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 table_Chat() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Chat(table_Chat other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Chat Clone() {
      return new table_Chat(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Chat> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Chat.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Chat> list_ = new pbc::RepeatedField<global::Nova.Client.Chat>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Chat> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Chat);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Chat other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Chat other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Chest : pb::IMessage<Chest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Chest> _parser = new pb::MessageParser<Chest>(() => new Chest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Chest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[88]; }
    }

    [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 Chest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Chest(Chest other) : this() {
      id_ = other.id_;
      group_ = other.group_;
      label_ = other.label_;
      lowFloor_ = other.lowFloor_;
      highFloor_ = other.highFloor_;
      tnteractionType_ = other.tnteractionType_;
      autoOpen_ = other.autoOpen_;
      modelPath_ = other.modelPath_;
      item1_ = other.item1_;
      number1_ = other.number1_;
      item2_ = other.item2_;
      number2_ = other.number2_;
      item3_ = other.item3_;
      number3_ = other.number3_;
      item4_ = other.item4_;
      number4_ = other.number4_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Chest Clone() {
      return new Chest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Group" field.</summary>
    public const int GroupFieldNumber = 2;
    private int group_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Group {
      get { return group_; }
      set {
        group_ = value;
      }
    }

    /// <summary>Field number for the "Label" field.</summary>
    public const int LabelFieldNumber = 3;
    private int label_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Label {
      get { return label_; }
      set {
        label_ = value;
      }
    }

    /// <summary>Field number for the "LowFloor" field.</summary>
    public const int LowFloorFieldNumber = 4;
    private int lowFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LowFloor {
      get { return lowFloor_; }
      set {
        lowFloor_ = value;
      }
    }

    /// <summary>Field number for the "HighFloor" field.</summary>
    public const int HighFloorFieldNumber = 5;
    private int highFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HighFloor {
      get { return highFloor_; }
      set {
        highFloor_ = value;
      }
    }

    /// <summary>Field number for the "TnteractionType" field.</summary>
    public const int TnteractionTypeFieldNumber = 6;
    private int tnteractionType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TnteractionType {
      get { return tnteractionType_; }
      set {
        tnteractionType_ = value;
      }
    }

    /// <summary>Field number for the "AutoOpen" field.</summary>
    public const int AutoOpenFieldNumber = 7;
    private int autoOpen_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AutoOpen {
      get { return autoOpen_; }
      set {
        autoOpen_ = value;
      }
    }

    /// <summary>Field number for the "ModelPath" field.</summary>
    public const int ModelPathFieldNumber = 8;
    private string modelPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ModelPath {
      get { return modelPath_; }
      set {
        modelPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Item1" field.</summary>
    public const int Item1FieldNumber = 9;
    private int item1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Item1 {
      get { return item1_; }
      set {
        item1_ = value;
      }
    }

    /// <summary>Field number for the "Number1" field.</summary>
    public const int Number1FieldNumber = 10;
    private int number1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number1 {
      get { return number1_; }
      set {
        number1_ = value;
      }
    }

    /// <summary>Field number for the "Item2" field.</summary>
    public const int Item2FieldNumber = 11;
    private int item2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Item2 {
      get { return item2_; }
      set {
        item2_ = value;
      }
    }

    /// <summary>Field number for the "Number2" field.</summary>
    public const int Number2FieldNumber = 12;
    private int number2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number2 {
      get { return number2_; }
      set {
        number2_ = value;
      }
    }

    /// <summary>Field number for the "Item3" field.</summary>
    public const int Item3FieldNumber = 13;
    private int item3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Item3 {
      get { return item3_; }
      set {
        item3_ = value;
      }
    }

    /// <summary>Field number for the "Number3" field.</summary>
    public const int Number3FieldNumber = 14;
    private int number3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number3 {
      get { return number3_; }
      set {
        number3_ = value;
      }
    }

    /// <summary>Field number for the "Item4" field.</summary>
    public const int Item4FieldNumber = 15;
    private int item4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Item4 {
      get { return item4_; }
      set {
        item4_ = value;
      }
    }

    /// <summary>Field number for the "Number4" field.</summary>
    public const int Number4FieldNumber = 16;
    private int number4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number4 {
      get { return number4_; }
      set {
        number4_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Chest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Chest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Group != other.Group) return false;
      if (Label != other.Label) return false;
      if (LowFloor != other.LowFloor) return false;
      if (HighFloor != other.HighFloor) return false;
      if (TnteractionType != other.TnteractionType) return false;
      if (AutoOpen != other.AutoOpen) return false;
      if (ModelPath != other.ModelPath) return false;
      if (Item1 != other.Item1) return false;
      if (Number1 != other.Number1) return false;
      if (Item2 != other.Item2) return false;
      if (Number2 != other.Number2) return false;
      if (Item3 != other.Item3) return false;
      if (Number3 != other.Number3) return false;
      if (Item4 != other.Item4) return false;
      if (Number4 != other.Number4) 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 (Group != 0) hash ^= Group.GetHashCode();
      if (Label != 0) hash ^= Label.GetHashCode();
      if (LowFloor != 0) hash ^= LowFloor.GetHashCode();
      if (HighFloor != 0) hash ^= HighFloor.GetHashCode();
      if (TnteractionType != 0) hash ^= TnteractionType.GetHashCode();
      if (AutoOpen != 0) hash ^= AutoOpen.GetHashCode();
      if (ModelPath.Length != 0) hash ^= ModelPath.GetHashCode();
      if (Item1 != 0) hash ^= Item1.GetHashCode();
      if (Number1 != 0) hash ^= Number1.GetHashCode();
      if (Item2 != 0) hash ^= Item2.GetHashCode();
      if (Number2 != 0) hash ^= Number2.GetHashCode();
      if (Item3 != 0) hash ^= Item3.GetHashCode();
      if (Number3 != 0) hash ^= Number3.GetHashCode();
      if (Item4 != 0) hash ^= Item4.GetHashCode();
      if (Number4 != 0) hash ^= Number4.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.WriteInt32(Id);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (Label != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Label);
      }
      if (LowFloor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LowFloor);
      }
      if (HighFloor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(HighFloor);
      }
      if (TnteractionType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(TnteractionType);
      }
      if (AutoOpen != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(AutoOpen);
      }
      if (ModelPath.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ModelPath);
      }
      if (Item1 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Item1);
      }
      if (Number1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Number1);
      }
      if (Item2 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Item2);
      }
      if (Number2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Number2);
      }
      if (Item3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Item3);
      }
      if (Number3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Number3);
      }
      if (Item4 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Item4);
      }
      if (Number4 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(Number4);
      }
      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.WriteInt32(Id);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (Label != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Label);
      }
      if (LowFloor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LowFloor);
      }
      if (HighFloor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(HighFloor);
      }
      if (TnteractionType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(TnteractionType);
      }
      if (AutoOpen != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(AutoOpen);
      }
      if (ModelPath.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ModelPath);
      }
      if (Item1 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Item1);
      }
      if (Number1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Number1);
      }
      if (Item2 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Item2);
      }
      if (Number2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Number2);
      }
      if (Item3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Item3);
      }
      if (Number3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Number3);
      }
      if (Item4 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Item4);
      }
      if (Number4 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(Number4);
      }
      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.ComputeInt32Size(Id);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (Label != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Label);
      }
      if (LowFloor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LowFloor);
      }
      if (HighFloor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(HighFloor);
      }
      if (TnteractionType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TnteractionType);
      }
      if (AutoOpen != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AutoOpen);
      }
      if (ModelPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ModelPath);
      }
      if (Item1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Item1);
      }
      if (Number1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number1);
      }
      if (Item2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Item2);
      }
      if (Number2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number2);
      }
      if (Item3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Item3);
      }
      if (Number3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number3);
      }
      if (Item4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Item4);
      }
      if (Number4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Number4);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Chest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      if (other.Label != 0) {
        Label = other.Label;
      }
      if (other.LowFloor != 0) {
        LowFloor = other.LowFloor;
      }
      if (other.HighFloor != 0) {
        HighFloor = other.HighFloor;
      }
      if (other.TnteractionType != 0) {
        TnteractionType = other.TnteractionType;
      }
      if (other.AutoOpen != 0) {
        AutoOpen = other.AutoOpen;
      }
      if (other.ModelPath.Length != 0) {
        ModelPath = other.ModelPath;
      }
      if (other.Item1 != 0) {
        Item1 = other.Item1;
      }
      if (other.Number1 != 0) {
        Number1 = other.Number1;
      }
      if (other.Item2 != 0) {
        Item2 = other.Item2;
      }
      if (other.Number2 != 0) {
        Number2 = other.Number2;
      }
      if (other.Item3 != 0) {
        Item3 = other.Item3;
      }
      if (other.Number3 != 0) {
        Number3 = other.Number3;
      }
      if (other.Item4 != 0) {
        Item4 = other.Item4;
      }
      if (other.Number4 != 0) {
        Number4 = other.Number4;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            Label = input.ReadInt32();
            break;
          }
          case 32: {
            LowFloor = input.ReadInt32();
            break;
          }
          case 40: {
            HighFloor = input.ReadInt32();
            break;
          }
          case 48: {
            TnteractionType = input.ReadInt32();
            break;
          }
          case 56: {
            AutoOpen = input.ReadInt32();
            break;
          }
          case 66: {
            ModelPath = input.ReadString();
            break;
          }
          case 72: {
            Item1 = input.ReadInt32();
            break;
          }
          case 80: {
            Number1 = input.ReadInt32();
            break;
          }
          case 88: {
            Item2 = input.ReadInt32();
            break;
          }
          case 96: {
            Number2 = input.ReadInt32();
            break;
          }
          case 104: {
            Item3 = input.ReadInt32();
            break;
          }
          case 112: {
            Number3 = input.ReadInt32();
            break;
          }
          case 120: {
            Item4 = input.ReadInt32();
            break;
          }
          case 128: {
            Number4 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            Label = input.ReadInt32();
            break;
          }
          case 32: {
            LowFloor = input.ReadInt32();
            break;
          }
          case 40: {
            HighFloor = input.ReadInt32();
            break;
          }
          case 48: {
            TnteractionType = input.ReadInt32();
            break;
          }
          case 56: {
            AutoOpen = input.ReadInt32();
            break;
          }
          case 66: {
            ModelPath = input.ReadString();
            break;
          }
          case 72: {
            Item1 = input.ReadInt32();
            break;
          }
          case 80: {
            Number1 = input.ReadInt32();
            break;
          }
          case 88: {
            Item2 = input.ReadInt32();
            break;
          }
          case 96: {
            Number2 = input.ReadInt32();
            break;
          }
          case 104: {
            Item3 = input.ReadInt32();
            break;
          }
          case 112: {
            Number3 = input.ReadInt32();
            break;
          }
          case 120: {
            Item4 = input.ReadInt32();
            break;
          }
          case 128: {
            Number4 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Chest : pb::IMessage<table_Chest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Chest> _parser = new pb::MessageParser<table_Chest>(() => new table_Chest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Chest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[89]; }
    }

    [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 table_Chest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Chest(table_Chest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Chest Clone() {
      return new table_Chest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Chest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Chest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Chest> list_ = new pbc::RepeatedField<global::Nova.Client.Chest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Chest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Chest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Chest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Chest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Config : pb::IMessage<Config>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Config> _parser = new pb::MessageParser<Config>(() => new Config());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Config> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[90]; }
    }

    [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 Config() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Config(Config other) : this() {
      id_ = other.id_;
      value_ = other.value_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Config Clone() {
      return new Config(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Value" field.</summary>
    public const int ValueFieldNumber = 2;
    private string value_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Value {
      get { return value_; }
      set {
        value_ = 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 Config);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Config other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Value != other.Value) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Value.Length != 0) hash ^= Value.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Value.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Value);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Value.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Value);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Value.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Value);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Config other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Value.Length != 0) {
        Value = other.Value;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Value = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Value = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Config : pb::IMessage<table_Config>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Config> _parser = new pb::MessageParser<table_Config>(() => new table_Config());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Config> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[91]; }
    }

    [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 table_Config() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Config(table_Config other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Config Clone() {
      return new table_Config(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Config> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Config.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Config> list_ = new pbc::RepeatedField<global::Nova.Client.Config>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Config> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Config);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Config other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Config other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ContentWord : pb::IMessage<ContentWord>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ContentWord> _parser = new pb::MessageParser<ContentWord>(() => new ContentWord());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ContentWord> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[92]; }
    }

    [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 ContentWord() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ContentWord(ContentWord other) : this() {
      id_ = other.id_;
      presetColor_ = other.presetColor_;
      word_ = other.word_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ContentWord Clone() {
      return new ContentWord(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "PresetColor" field.</summary>
    public const int PresetColorFieldNumber = 2;
    private string presetColor_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PresetColor {
      get { return presetColor_; }
      set {
        presetColor_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Word" field.</summary>
    public const int WordFieldNumber = 3;
    private string word_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Word {
      get { return word_; }
      set {
        word_ = 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 ContentWord);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ContentWord other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (PresetColor != other.PresetColor) return false;
      if (Word != other.Word) 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 (PresetColor.Length != 0) hash ^= PresetColor.GetHashCode();
      if (Word.Length != 0) hash ^= Word.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.WriteInt32(Id);
      }
      if (PresetColor.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(PresetColor);
      }
      if (Word.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Word);
      }
      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.WriteInt32(Id);
      }
      if (PresetColor.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(PresetColor);
      }
      if (Word.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Word);
      }
      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.ComputeInt32Size(Id);
      }
      if (PresetColor.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PresetColor);
      }
      if (Word.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Word);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ContentWord other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.PresetColor.Length != 0) {
        PresetColor = other.PresetColor;
      }
      if (other.Word.Length != 0) {
        Word = other.Word;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            PresetColor = input.ReadString();
            break;
          }
          case 26: {
            Word = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            PresetColor = input.ReadString();
            break;
          }
          case 26: {
            Word = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ContentWord : pb::IMessage<table_ContentWord>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ContentWord> _parser = new pb::MessageParser<table_ContentWord>(() => new table_ContentWord());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ContentWord> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[93]; }
    }

    [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 table_ContentWord() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ContentWord(table_ContentWord other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ContentWord Clone() {
      return new table_ContentWord(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ContentWord> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ContentWord.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ContentWord> list_ = new pbc::RepeatedField<global::Nova.Client.ContentWord>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ContentWord> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ContentWord);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ContentWord other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ContentWord other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DailyInstance : pb::IMessage<DailyInstance>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DailyInstance> _parser = new pb::MessageParser<DailyInstance>(() => new DailyInstance());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DailyInstance> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[94]; }
    }

    [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 DailyInstance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstance(DailyInstance other) : this() {
      id_ = other.id_;
      dailyType_ = other.dailyType_;
      difficulty_ = other.difficulty_;
      name_ = other.name_;
      desc_ = other.desc_;
      suggestedPower_ = other.suggestedPower_;
      preLevelId_ = other.preLevelId_;
      preLevelStar_ = other.preLevelStar_;
      needWorldClass_ = other.needWorldClass_;
      floorId_ = other.floorId_;
      oneStarDesc_ = other.oneStarDesc_;
      twoStarDesc_ = other.twoStarDesc_;
      threeStarDesc_ = other.threeStarDesc_;
      oneStarEnergyConsume_ = other.oneStarEnergyConsume_;
      twoStarEnergyConsume_ = other.twoStarEnergyConsume_;
      threeStarEnergyConsume_ = other.threeStarEnergyConsume_;
      awardDropId_ = other.awardDropId_;
      previewMonsterGroupId_ = other.previewMonsterGroupId_;
      icon_ = other.icon_;
      firstRewardPreview_ = other.firstRewardPreview_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstance Clone() {
      return new DailyInstance(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "DailyType" field.</summary>
    public const int DailyTypeFieldNumber = 2;
    private int dailyType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DailyType {
      get { return dailyType_; }
      set {
        dailyType_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 3;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 5;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SuggestedPower" field.</summary>
    public const int SuggestedPowerFieldNumber = 6;
    private int suggestedPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SuggestedPower {
      get { return suggestedPower_; }
      set {
        suggestedPower_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelId" field.</summary>
    public const int PreLevelIdFieldNumber = 7;
    private int preLevelId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelId {
      get { return preLevelId_; }
      set {
        preLevelId_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelStar" field.</summary>
    public const int PreLevelStarFieldNumber = 8;
    private int preLevelStar_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelStar {
      get { return preLevelStar_; }
      set {
        preLevelStar_ = value;
      }
    }

    /// <summary>Field number for the "NeedWorldClass" field.</summary>
    public const int NeedWorldClassFieldNumber = 9;
    private int needWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedWorldClass {
      get { return needWorldClass_; }
      set {
        needWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 10;
    private int floorId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FloorId {
      get { return floorId_; }
      set {
        floorId_ = value;
      }
    }

    /// <summary>Field number for the "OneStarDesc" field.</summary>
    public const int OneStarDescFieldNumber = 11;
    private string oneStarDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OneStarDesc {
      get { return oneStarDesc_; }
      set {
        oneStarDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TwoStarDesc" field.</summary>
    public const int TwoStarDescFieldNumber = 12;
    private string twoStarDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TwoStarDesc {
      get { return twoStarDesc_; }
      set {
        twoStarDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ThreeStarDesc" field.</summary>
    public const int ThreeStarDescFieldNumber = 13;
    private string threeStarDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ThreeStarDesc {
      get { return threeStarDesc_; }
      set {
        threeStarDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OneStarEnergyConsume" field.</summary>
    public const int OneStarEnergyConsumeFieldNumber = 14;
    private int oneStarEnergyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OneStarEnergyConsume {
      get { return oneStarEnergyConsume_; }
      set {
        oneStarEnergyConsume_ = value;
      }
    }

    /// <summary>Field number for the "TwoStarEnergyConsume" field.</summary>
    public const int TwoStarEnergyConsumeFieldNumber = 15;
    private int twoStarEnergyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TwoStarEnergyConsume {
      get { return twoStarEnergyConsume_; }
      set {
        twoStarEnergyConsume_ = value;
      }
    }

    /// <summary>Field number for the "ThreeStarEnergyConsume" field.</summary>
    public const int ThreeStarEnergyConsumeFieldNumber = 16;
    private int threeStarEnergyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThreeStarEnergyConsume {
      get { return threeStarEnergyConsume_; }
      set {
        threeStarEnergyConsume_ = value;
      }
    }

    /// <summary>Field number for the "AwardDropId" field.</summary>
    public const int AwardDropIdFieldNumber = 17;
    private int awardDropId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardDropId {
      get { return awardDropId_; }
      set {
        awardDropId_ = value;
      }
    }

    /// <summary>Field number for the "PreviewMonsterGroupId" field.</summary>
    public const int PreviewMonsterGroupIdFieldNumber = 18;
    private int previewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterGroupId {
      get { return previewMonsterGroupId_; }
      set {
        previewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 19;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FirstRewardPreview" field.</summary>
    public const int FirstRewardPreviewFieldNumber = 20;
    private static readonly pb::FieldCodec<int> _repeated_firstRewardPreview_codec
        = pb::FieldCodec.ForInt32(162);
    private readonly pbc::RepeatedField<int> firstRewardPreview_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FirstRewardPreview {
      get { return firstRewardPreview_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DailyInstance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DailyInstance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (DailyType != other.DailyType) return false;
      if (Difficulty != other.Difficulty) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (SuggestedPower != other.SuggestedPower) return false;
      if (PreLevelId != other.PreLevelId) return false;
      if (PreLevelStar != other.PreLevelStar) return false;
      if (NeedWorldClass != other.NeedWorldClass) return false;
      if (FloorId != other.FloorId) return false;
      if (OneStarDesc != other.OneStarDesc) return false;
      if (TwoStarDesc != other.TwoStarDesc) return false;
      if (ThreeStarDesc != other.ThreeStarDesc) return false;
      if (OneStarEnergyConsume != other.OneStarEnergyConsume) return false;
      if (TwoStarEnergyConsume != other.TwoStarEnergyConsume) return false;
      if (ThreeStarEnergyConsume != other.ThreeStarEnergyConsume) return false;
      if (AwardDropId != other.AwardDropId) return false;
      if (PreviewMonsterGroupId != other.PreviewMonsterGroupId) return false;
      if (Icon != other.Icon) return false;
      if(!firstRewardPreview_.Equals(other.firstRewardPreview_)) 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 (DailyType != 0) hash ^= DailyType.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (SuggestedPower != 0) hash ^= SuggestedPower.GetHashCode();
      if (PreLevelId != 0) hash ^= PreLevelId.GetHashCode();
      if (PreLevelStar != 0) hash ^= PreLevelStar.GetHashCode();
      if (NeedWorldClass != 0) hash ^= NeedWorldClass.GetHashCode();
      if (FloorId != 0) hash ^= FloorId.GetHashCode();
      if (OneStarDesc.Length != 0) hash ^= OneStarDesc.GetHashCode();
      if (TwoStarDesc.Length != 0) hash ^= TwoStarDesc.GetHashCode();
      if (ThreeStarDesc.Length != 0) hash ^= ThreeStarDesc.GetHashCode();
      if (OneStarEnergyConsume != 0) hash ^= OneStarEnergyConsume.GetHashCode();
      if (TwoStarEnergyConsume != 0) hash ^= TwoStarEnergyConsume.GetHashCode();
      if (ThreeStarEnergyConsume != 0) hash ^= ThreeStarEnergyConsume.GetHashCode();
      if (AwardDropId != 0) hash ^= AwardDropId.GetHashCode();
      if (PreviewMonsterGroupId != 0) hash ^= PreviewMonsterGroupId.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      hash ^= firstRewardPreview_.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.WriteInt32(Id);
      }
      if (DailyType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DailyType);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PreLevelId);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NeedWorldClass);
      }
      if (FloorId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FloorId);
      }
      if (OneStarDesc.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(OneStarDesc);
      }
      if (TwoStarDesc.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(TwoStarDesc);
      }
      if (ThreeStarDesc.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ThreeStarDesc);
      }
      if (OneStarEnergyConsume != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(OneStarEnergyConsume);
      }
      if (TwoStarEnergyConsume != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TwoStarEnergyConsume);
      }
      if (ThreeStarEnergyConsume != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ThreeStarEnergyConsume);
      }
      if (AwardDropId != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(AwardDropId);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Icon);
      }
      firstRewardPreview_.WriteTo(output, _repeated_firstRewardPreview_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (DailyType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DailyType);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PreLevelId);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NeedWorldClass);
      }
      if (FloorId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FloorId);
      }
      if (OneStarDesc.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(OneStarDesc);
      }
      if (TwoStarDesc.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(TwoStarDesc);
      }
      if (ThreeStarDesc.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ThreeStarDesc);
      }
      if (OneStarEnergyConsume != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(OneStarEnergyConsume);
      }
      if (TwoStarEnergyConsume != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TwoStarEnergyConsume);
      }
      if (ThreeStarEnergyConsume != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ThreeStarEnergyConsume);
      }
      if (AwardDropId != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(AwardDropId);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Icon);
      }
      firstRewardPreview_.WriteTo(ref output, _repeated_firstRewardPreview_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (DailyType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DailyType);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (SuggestedPower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SuggestedPower);
      }
      if (PreLevelId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelId);
      }
      if (PreLevelStar != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedWorldClass);
      }
      if (FloorId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FloorId);
      }
      if (OneStarDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OneStarDesc);
      }
      if (TwoStarDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TwoStarDesc);
      }
      if (ThreeStarDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ThreeStarDesc);
      }
      if (OneStarEnergyConsume != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneStarEnergyConsume);
      }
      if (TwoStarEnergyConsume != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TwoStarEnergyConsume);
      }
      if (ThreeStarEnergyConsume != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ThreeStarEnergyConsume);
      }
      if (AwardDropId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AwardDropId);
      }
      if (PreviewMonsterGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterGroupId);
      }
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      size += firstRewardPreview_.CalculateSize(_repeated_firstRewardPreview_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DailyInstance other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.DailyType != 0) {
        DailyType = other.DailyType;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.SuggestedPower != 0) {
        SuggestedPower = other.SuggestedPower;
      }
      if (other.PreLevelId != 0) {
        PreLevelId = other.PreLevelId;
      }
      if (other.PreLevelStar != 0) {
        PreLevelStar = other.PreLevelStar;
      }
      if (other.NeedWorldClass != 0) {
        NeedWorldClass = other.NeedWorldClass;
      }
      if (other.FloorId != 0) {
        FloorId = other.FloorId;
      }
      if (other.OneStarDesc.Length != 0) {
        OneStarDesc = other.OneStarDesc;
      }
      if (other.TwoStarDesc.Length != 0) {
        TwoStarDesc = other.TwoStarDesc;
      }
      if (other.ThreeStarDesc.Length != 0) {
        ThreeStarDesc = other.ThreeStarDesc;
      }
      if (other.OneStarEnergyConsume != 0) {
        OneStarEnergyConsume = other.OneStarEnergyConsume;
      }
      if (other.TwoStarEnergyConsume != 0) {
        TwoStarEnergyConsume = other.TwoStarEnergyConsume;
      }
      if (other.ThreeStarEnergyConsume != 0) {
        ThreeStarEnergyConsume = other.ThreeStarEnergyConsume;
      }
      if (other.AwardDropId != 0) {
        AwardDropId = other.AwardDropId;
      }
      if (other.PreviewMonsterGroupId != 0) {
        PreviewMonsterGroupId = other.PreviewMonsterGroupId;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      firstRewardPreview_.Add(other.firstRewardPreview_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            DailyType = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 64: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 72: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 80: {
            FloorId = input.ReadInt32();
            break;
          }
          case 90: {
            OneStarDesc = input.ReadString();
            break;
          }
          case 98: {
            TwoStarDesc = input.ReadString();
            break;
          }
          case 106: {
            ThreeStarDesc = input.ReadString();
            break;
          }
          case 112: {
            OneStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 120: {
            TwoStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 128: {
            ThreeStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 136: {
            AwardDropId = input.ReadInt32();
            break;
          }
          case 144: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 154: {
            Icon = input.ReadString();
            break;
          }
          case 162:
          case 160: {
            firstRewardPreview_.AddEntriesFrom(input, _repeated_firstRewardPreview_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            DailyType = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 64: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 72: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 80: {
            FloorId = input.ReadInt32();
            break;
          }
          case 90: {
            OneStarDesc = input.ReadString();
            break;
          }
          case 98: {
            TwoStarDesc = input.ReadString();
            break;
          }
          case 106: {
            ThreeStarDesc = input.ReadString();
            break;
          }
          case 112: {
            OneStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 120: {
            TwoStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 128: {
            ThreeStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 136: {
            AwardDropId = input.ReadInt32();
            break;
          }
          case 144: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 154: {
            Icon = input.ReadString();
            break;
          }
          case 162:
          case 160: {
            firstRewardPreview_.AddEntriesFrom(ref input, _repeated_firstRewardPreview_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DailyInstance : pb::IMessage<table_DailyInstance>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DailyInstance> _parser = new pb::MessageParser<table_DailyInstance>(() => new table_DailyInstance());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DailyInstance> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[95]; }
    }

    [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 table_DailyInstance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstance(table_DailyInstance other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstance Clone() {
      return new table_DailyInstance(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DailyInstance> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DailyInstance.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DailyInstance> list_ = new pbc::RepeatedField<global::Nova.Client.DailyInstance>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DailyInstance> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DailyInstance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DailyInstance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DailyInstance other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DailyInstanceFloor : pb::IMessage<DailyInstanceFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DailyInstanceFloor> _parser = new pb::MessageParser<DailyInstanceFloor>(() => new DailyInstanceFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DailyInstanceFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[96]; }
    }

    [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 DailyInstanceFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstanceFloor(DailyInstanceFloor other) : this() {
      id_ = other.id_;
      sceneName_ = other.sceneName_;
      configPrefabName_ = other.configPrefabName_;
      theme_ = other.theme_;
      bGM_ = other.bGM_;
      leaveTriggerEvent_ = other.leaveTriggerEvent_;
      monsterId_ = other.monsterId_;
      oneStarCondition_ = other.oneStarCondition_;
      twoStarCondition_ = other.twoStarCondition_;
      threeStarCondition_ = other.threeStarCondition_;
      levelTotalTime_ = other.levelTotalTime_;
      timeEndSettlement_ = other.timeEndSettlement_;
      starConditionType_ = other.starConditionType_;
      monsterLv_ = other.monsterLv_;
      dropEntityGroupId_ = other.dropEntityGroupId_;
      dropEntityRate_ = other.dropEntityRate_;
      dropMaxNum_ = other.dropMaxNum_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstanceFloor Clone() {
      return new DailyInstanceFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 2;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfigPrefabName" field.</summary>
    public const int ConfigPrefabNameFieldNumber = 3;
    private string configPrefabName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigPrefabName {
      get { return configPrefabName_; }
      set {
        configPrefabName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 5;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LeaveTriggerEvent" field.</summary>
    public const int LeaveTriggerEventFieldNumber = 6;
    private string leaveTriggerEvent_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LeaveTriggerEvent {
      get { return leaveTriggerEvent_; }
      set {
        leaveTriggerEvent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "monsterId" field.</summary>
    public const int MonsterIdFieldNumber = 7;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "OneStarCondition" field.</summary>
    public const int OneStarConditionFieldNumber = 8;
    private int oneStarCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OneStarCondition {
      get { return oneStarCondition_; }
      set {
        oneStarCondition_ = value;
      }
    }

    /// <summary>Field number for the "TwoStarCondition" field.</summary>
    public const int TwoStarConditionFieldNumber = 9;
    private int twoStarCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TwoStarCondition {
      get { return twoStarCondition_; }
      set {
        twoStarCondition_ = value;
      }
    }

    /// <summary>Field number for the "ThreeStarCondition" field.</summary>
    public const int ThreeStarConditionFieldNumber = 10;
    private int threeStarCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThreeStarCondition {
      get { return threeStarCondition_; }
      set {
        threeStarCondition_ = value;
      }
    }

    /// <summary>Field number for the "LevelTotalTime" field.</summary>
    public const int LevelTotalTimeFieldNumber = 11;
    private int levelTotalTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelTotalTime {
      get { return levelTotalTime_; }
      set {
        levelTotalTime_ = value;
      }
    }

    /// <summary>Field number for the "TimeEndSettlement" field.</summary>
    public const int TimeEndSettlementFieldNumber = 12;
    private bool timeEndSettlement_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool TimeEndSettlement {
      get { return timeEndSettlement_; }
      set {
        timeEndSettlement_ = value;
      }
    }

    /// <summary>Field number for the "StarConditionType" field.</summary>
    public const int StarConditionTypeFieldNumber = 13;
    private int starConditionType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StarConditionType {
      get { return starConditionType_; }
      set {
        starConditionType_ = value;
      }
    }

    /// <summary>Field number for the "MonsterLv" field.</summary>
    public const int MonsterLvFieldNumber = 14;
    private int monsterLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLv {
      get { return monsterLv_; }
      set {
        monsterLv_ = value;
      }
    }

    /// <summary>Field number for the "DropEntityGroupId" field.</summary>
    public const int DropEntityGroupIdFieldNumber = 15;
    private int dropEntityGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropEntityGroupId {
      get { return dropEntityGroupId_; }
      set {
        dropEntityGroupId_ = value;
      }
    }

    /// <summary>Field number for the "DropEntityRate" field.</summary>
    public const int DropEntityRateFieldNumber = 16;
    private int dropEntityRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropEntityRate {
      get { return dropEntityRate_; }
      set {
        dropEntityRate_ = value;
      }
    }

    /// <summary>Field number for the "DropMaxNum" field.</summary>
    public const int DropMaxNumFieldNumber = 17;
    private int dropMaxNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropMaxNum {
      get { return dropMaxNum_; }
      set {
        dropMaxNum_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DailyInstanceFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DailyInstanceFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneName != other.SceneName) return false;
      if (ConfigPrefabName != other.ConfigPrefabName) return false;
      if (Theme != other.Theme) return false;
      if (BGM != other.BGM) return false;
      if (LeaveTriggerEvent != other.LeaveTriggerEvent) return false;
      if (MonsterId != other.MonsterId) return false;
      if (OneStarCondition != other.OneStarCondition) return false;
      if (TwoStarCondition != other.TwoStarCondition) return false;
      if (ThreeStarCondition != other.ThreeStarCondition) return false;
      if (LevelTotalTime != other.LevelTotalTime) return false;
      if (TimeEndSettlement != other.TimeEndSettlement) return false;
      if (StarConditionType != other.StarConditionType) return false;
      if (MonsterLv != other.MonsterLv) return false;
      if (DropEntityGroupId != other.DropEntityGroupId) return false;
      if (DropEntityRate != other.DropEntityRate) return false;
      if (DropMaxNum != other.DropMaxNum) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (ConfigPrefabName.Length != 0) hash ^= ConfigPrefabName.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.GetHashCode();
      if (LeaveTriggerEvent.Length != 0) hash ^= LeaveTriggerEvent.GetHashCode();
      if (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (OneStarCondition != 0) hash ^= OneStarCondition.GetHashCode();
      if (TwoStarCondition != 0) hash ^= TwoStarCondition.GetHashCode();
      if (ThreeStarCondition != 0) hash ^= ThreeStarCondition.GetHashCode();
      if (LevelTotalTime != 0) hash ^= LevelTotalTime.GetHashCode();
      if (TimeEndSettlement != false) hash ^= TimeEndSettlement.GetHashCode();
      if (StarConditionType != 0) hash ^= StarConditionType.GetHashCode();
      if (MonsterLv != 0) hash ^= MonsterLv.GetHashCode();
      if (DropEntityGroupId != 0) hash ^= DropEntityGroupId.GetHashCode();
      if (DropEntityRate != 0) hash ^= DropEntityRate.GetHashCode();
      if (DropMaxNum != 0) hash ^= DropMaxNum.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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterId);
      }
      if (OneStarCondition != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(OneStarCondition);
      }
      if (TwoStarCondition != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TwoStarCondition);
      }
      if (ThreeStarCondition != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ThreeStarCondition);
      }
      if (LevelTotalTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LevelTotalTime);
      }
      if (TimeEndSettlement != false) {
        output.WriteRawTag(96);
        output.WriteBool(TimeEndSettlement);
      }
      if (StarConditionType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(StarConditionType);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(MonsterLv);
      }
      if (DropEntityGroupId != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(DropEntityGroupId);
      }
      if (DropEntityRate != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(DropEntityRate);
      }
      if (DropMaxNum != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(DropMaxNum);
      }
      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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterId);
      }
      if (OneStarCondition != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(OneStarCondition);
      }
      if (TwoStarCondition != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TwoStarCondition);
      }
      if (ThreeStarCondition != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ThreeStarCondition);
      }
      if (LevelTotalTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LevelTotalTime);
      }
      if (TimeEndSettlement != false) {
        output.WriteRawTag(96);
        output.WriteBool(TimeEndSettlement);
      }
      if (StarConditionType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(StarConditionType);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(MonsterLv);
      }
      if (DropEntityGroupId != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(DropEntityGroupId);
      }
      if (DropEntityRate != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(DropEntityRate);
      }
      if (DropMaxNum != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(DropMaxNum);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigPrefabName);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LeaveTriggerEvent);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (OneStarCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneStarCondition);
      }
      if (TwoStarCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TwoStarCondition);
      }
      if (ThreeStarCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ThreeStarCondition);
      }
      if (LevelTotalTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTotalTime);
      }
      if (TimeEndSettlement != false) {
        size += 1 + 1;
      }
      if (StarConditionType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StarConditionType);
      }
      if (MonsterLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLv);
      }
      if (DropEntityGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropEntityGroupId);
      }
      if (DropEntityRate != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DropEntityRate);
      }
      if (DropMaxNum != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DropMaxNum);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DailyInstanceFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.ConfigPrefabName.Length != 0) {
        ConfigPrefabName = other.ConfigPrefabName;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      if (other.LeaveTriggerEvent.Length != 0) {
        LeaveTriggerEvent = other.LeaveTriggerEvent;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.OneStarCondition != 0) {
        OneStarCondition = other.OneStarCondition;
      }
      if (other.TwoStarCondition != 0) {
        TwoStarCondition = other.TwoStarCondition;
      }
      if (other.ThreeStarCondition != 0) {
        ThreeStarCondition = other.ThreeStarCondition;
      }
      if (other.LevelTotalTime != 0) {
        LevelTotalTime = other.LevelTotalTime;
      }
      if (other.TimeEndSettlement != false) {
        TimeEndSettlement = other.TimeEndSettlement;
      }
      if (other.StarConditionType != 0) {
        StarConditionType = other.StarConditionType;
      }
      if (other.MonsterLv != 0) {
        MonsterLv = other.MonsterLv;
      }
      if (other.DropEntityGroupId != 0) {
        DropEntityGroupId = other.DropEntityGroupId;
      }
      if (other.DropEntityRate != 0) {
        DropEntityRate = other.DropEntityRate;
      }
      if (other.DropMaxNum != 0) {
        DropMaxNum = other.DropMaxNum;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 64: {
            OneStarCondition = input.ReadInt32();
            break;
          }
          case 72: {
            TwoStarCondition = input.ReadInt32();
            break;
          }
          case 80: {
            ThreeStarCondition = input.ReadInt32();
            break;
          }
          case 88: {
            LevelTotalTime = input.ReadInt32();
            break;
          }
          case 96: {
            TimeEndSettlement = input.ReadBool();
            break;
          }
          case 104: {
            StarConditionType = input.ReadInt32();
            break;
          }
          case 112: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 120: {
            DropEntityGroupId = input.ReadInt32();
            break;
          }
          case 128: {
            DropEntityRate = input.ReadInt32();
            break;
          }
          case 136: {
            DropMaxNum = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 64: {
            OneStarCondition = input.ReadInt32();
            break;
          }
          case 72: {
            TwoStarCondition = input.ReadInt32();
            break;
          }
          case 80: {
            ThreeStarCondition = input.ReadInt32();
            break;
          }
          case 88: {
            LevelTotalTime = input.ReadInt32();
            break;
          }
          case 96: {
            TimeEndSettlement = input.ReadBool();
            break;
          }
          case 104: {
            StarConditionType = input.ReadInt32();
            break;
          }
          case 112: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 120: {
            DropEntityGroupId = input.ReadInt32();
            break;
          }
          case 128: {
            DropEntityRate = input.ReadInt32();
            break;
          }
          case 136: {
            DropMaxNum = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DailyInstanceFloor : pb::IMessage<table_DailyInstanceFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DailyInstanceFloor> _parser = new pb::MessageParser<table_DailyInstanceFloor>(() => new table_DailyInstanceFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DailyInstanceFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[97]; }
    }

    [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 table_DailyInstanceFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstanceFloor(table_DailyInstanceFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstanceFloor Clone() {
      return new table_DailyInstanceFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DailyInstanceFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DailyInstanceFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DailyInstanceFloor> list_ = new pbc::RepeatedField<global::Nova.Client.DailyInstanceFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DailyInstanceFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DailyInstanceFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DailyInstanceFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DailyInstanceFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DailyInstanceRewardGroup : pb::IMessage<DailyInstanceRewardGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DailyInstanceRewardGroup> _parser = new pb::MessageParser<DailyInstanceRewardGroup>(() => new DailyInstanceRewardGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DailyInstanceRewardGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[98]; }
    }

    [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 DailyInstanceRewardGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstanceRewardGroup(DailyInstanceRewardGroup other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      dailyRewardType_ = other.dailyRewardType_;
      rewardName_ = other.rewardName_;
      rewardDes_ = other.rewardDes_;
      rewardIcon_ = other.rewardIcon_;
      dropId_ = other.dropId_;
      baseAwardPreview_ = other.baseAwardPreview_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstanceRewardGroup Clone() {
      return new DailyInstanceRewardGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "DailyRewardType" field.</summary>
    public const int DailyRewardTypeFieldNumber = 3;
    private int dailyRewardType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DailyRewardType {
      get { return dailyRewardType_; }
      set {
        dailyRewardType_ = value;
      }
    }

    /// <summary>Field number for the "RewardName" field.</summary>
    public const int RewardNameFieldNumber = 4;
    private string rewardName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardName {
      get { return rewardName_; }
      set {
        rewardName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RewardDes" field.</summary>
    public const int RewardDesFieldNumber = 5;
    private string rewardDes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardDes {
      get { return rewardDes_; }
      set {
        rewardDes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RewardIcon" field.</summary>
    public const int RewardIconFieldNumber = 6;
    private string rewardIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardIcon {
      get { return rewardIcon_; }
      set {
        rewardIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DropId" field.</summary>
    public const int DropIdFieldNumber = 7;
    private int dropId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropId {
      get { return dropId_; }
      set {
        dropId_ = value;
      }
    }

    /// <summary>Field number for the "BaseAwardPreview" field.</summary>
    public const int BaseAwardPreviewFieldNumber = 8;
    private string baseAwardPreview_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BaseAwardPreview {
      get { return baseAwardPreview_; }
      set {
        baseAwardPreview_ = 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 DailyInstanceRewardGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DailyInstanceRewardGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (DailyRewardType != other.DailyRewardType) return false;
      if (RewardName != other.RewardName) return false;
      if (RewardDes != other.RewardDes) return false;
      if (RewardIcon != other.RewardIcon) return false;
      if (DropId != other.DropId) return false;
      if (BaseAwardPreview != other.BaseAwardPreview) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (DailyRewardType != 0) hash ^= DailyRewardType.GetHashCode();
      if (RewardName.Length != 0) hash ^= RewardName.GetHashCode();
      if (RewardDes.Length != 0) hash ^= RewardDes.GetHashCode();
      if (RewardIcon.Length != 0) hash ^= RewardIcon.GetHashCode();
      if (DropId != 0) hash ^= DropId.GetHashCode();
      if (BaseAwardPreview.Length != 0) hash ^= BaseAwardPreview.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (DailyRewardType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DailyRewardType);
      }
      if (RewardName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RewardName);
      }
      if (RewardDes.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RewardDes);
      }
      if (RewardIcon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(RewardIcon);
      }
      if (DropId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(DropId);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(BaseAwardPreview);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (DailyRewardType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DailyRewardType);
      }
      if (RewardName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(RewardName);
      }
      if (RewardDes.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RewardDes);
      }
      if (RewardIcon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(RewardIcon);
      }
      if (DropId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(DropId);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(BaseAwardPreview);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (DailyRewardType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DailyRewardType);
      }
      if (RewardName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardName);
      }
      if (RewardDes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardDes);
      }
      if (RewardIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardIcon);
      }
      if (DropId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropId);
      }
      if (BaseAwardPreview.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BaseAwardPreview);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DailyInstanceRewardGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.DailyRewardType != 0) {
        DailyRewardType = other.DailyRewardType;
      }
      if (other.RewardName.Length != 0) {
        RewardName = other.RewardName;
      }
      if (other.RewardDes.Length != 0) {
        RewardDes = other.RewardDes;
      }
      if (other.RewardIcon.Length != 0) {
        RewardIcon = other.RewardIcon;
      }
      if (other.DropId != 0) {
        DropId = other.DropId;
      }
      if (other.BaseAwardPreview.Length != 0) {
        BaseAwardPreview = other.BaseAwardPreview;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            DailyRewardType = input.ReadInt32();
            break;
          }
          case 34: {
            RewardName = input.ReadString();
            break;
          }
          case 42: {
            RewardDes = input.ReadString();
            break;
          }
          case 50: {
            RewardIcon = input.ReadString();
            break;
          }
          case 56: {
            DropId = input.ReadInt32();
            break;
          }
          case 66: {
            BaseAwardPreview = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            DailyRewardType = input.ReadInt32();
            break;
          }
          case 34: {
            RewardName = input.ReadString();
            break;
          }
          case 42: {
            RewardDes = input.ReadString();
            break;
          }
          case 50: {
            RewardIcon = input.ReadString();
            break;
          }
          case 56: {
            DropId = input.ReadInt32();
            break;
          }
          case 66: {
            BaseAwardPreview = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DailyInstanceRewardGroup : pb::IMessage<table_DailyInstanceRewardGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DailyInstanceRewardGroup> _parser = new pb::MessageParser<table_DailyInstanceRewardGroup>(() => new table_DailyInstanceRewardGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DailyInstanceRewardGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[99]; }
    }

    [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 table_DailyInstanceRewardGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstanceRewardGroup(table_DailyInstanceRewardGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstanceRewardGroup Clone() {
      return new table_DailyInstanceRewardGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DailyInstanceRewardGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DailyInstanceRewardGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DailyInstanceRewardGroup> list_ = new pbc::RepeatedField<global::Nova.Client.DailyInstanceRewardGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DailyInstanceRewardGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DailyInstanceRewardGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DailyInstanceRewardGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DailyInstanceRewardGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DailyInstanceType : pb::IMessage<DailyInstanceType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DailyInstanceType> _parser = new pb::MessageParser<DailyInstanceType>(() => new DailyInstanceType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DailyInstanceType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[100]; }
    }

    [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 DailyInstanceType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstanceType(DailyInstanceType other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      mainLineId_ = other.mainLineId_;
      worldClassLevel_ = other.worldClassLevel_;
      episode_ = other.episode_;
      image_ = other.image_;
      sort_ = other.sort_;
      howReward_ = other.howReward_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyInstanceType Clone() {
      return new DailyInstanceType(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MainLineId" field.</summary>
    public const int MainLineIdFieldNumber = 3;
    private int mainLineId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainLineId {
      get { return mainLineId_; }
      set {
        mainLineId_ = value;
      }
    }

    /// <summary>Field number for the "WorldClassLevel" field.</summary>
    public const int WorldClassLevelFieldNumber = 4;
    private int worldClassLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WorldClassLevel {
      get { return worldClassLevel_; }
      set {
        worldClassLevel_ = value;
      }
    }

    /// <summary>Field number for the "Episode" field.</summary>
    public const int EpisodeFieldNumber = 5;
    private string episode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode {
      get { return episode_; }
      set {
        episode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Image" field.</summary>
    public const int ImageFieldNumber = 6;
    private string image_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Image {
      get { return image_; }
      set {
        image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 7;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "HowReward" field.</summary>
    public const int HowRewardFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_howReward_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> howReward_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> HowReward {
      get { return howReward_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DailyInstanceType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DailyInstanceType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (MainLineId != other.MainLineId) return false;
      if (WorldClassLevel != other.WorldClassLevel) return false;
      if (Episode != other.Episode) return false;
      if (Image != other.Image) return false;
      if (Sort != other.Sort) return false;
      if(!howReward_.Equals(other.howReward_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (MainLineId != 0) hash ^= MainLineId.GetHashCode();
      if (WorldClassLevel != 0) hash ^= WorldClassLevel.GetHashCode();
      if (Episode.Length != 0) hash ^= Episode.GetHashCode();
      if (Image.Length != 0) hash ^= Image.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      hash ^= howReward_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (MainLineId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MainLineId);
      }
      if (WorldClassLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(WorldClassLevel);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Image);
      }
      if (Sort != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Sort);
      }
      howReward_.WriteTo(output, _repeated_howReward_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (MainLineId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MainLineId);
      }
      if (WorldClassLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(WorldClassLevel);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Image);
      }
      if (Sort != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Sort);
      }
      howReward_.WriteTo(ref output, _repeated_howReward_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (MainLineId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainLineId);
      }
      if (WorldClassLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClassLevel);
      }
      if (Episode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Episode);
      }
      if (Image.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Image);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      size += howReward_.CalculateSize(_repeated_howReward_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DailyInstanceType other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.MainLineId != 0) {
        MainLineId = other.MainLineId;
      }
      if (other.WorldClassLevel != 0) {
        WorldClassLevel = other.WorldClassLevel;
      }
      if (other.Episode.Length != 0) {
        Episode = other.Episode;
      }
      if (other.Image.Length != 0) {
        Image = other.Image;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      howReward_.Add(other.howReward_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            MainLineId = input.ReadInt32();
            break;
          }
          case 32: {
            WorldClassLevel = input.ReadInt32();
            break;
          }
          case 42: {
            Episode = input.ReadString();
            break;
          }
          case 50: {
            Image = input.ReadString();
            break;
          }
          case 56: {
            Sort = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            howReward_.AddEntriesFrom(input, _repeated_howReward_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            MainLineId = input.ReadInt32();
            break;
          }
          case 32: {
            WorldClassLevel = input.ReadInt32();
            break;
          }
          case 42: {
            Episode = input.ReadString();
            break;
          }
          case 50: {
            Image = input.ReadString();
            break;
          }
          case 56: {
            Sort = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            howReward_.AddEntriesFrom(ref input, _repeated_howReward_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DailyInstanceType : pb::IMessage<table_DailyInstanceType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DailyInstanceType> _parser = new pb::MessageParser<table_DailyInstanceType>(() => new table_DailyInstanceType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DailyInstanceType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[101]; }
    }

    [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 table_DailyInstanceType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstanceType(table_DailyInstanceType other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyInstanceType Clone() {
      return new table_DailyInstanceType(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DailyInstanceType> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DailyInstanceType.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DailyInstanceType> list_ = new pbc::RepeatedField<global::Nova.Client.DailyInstanceType>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DailyInstanceType> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DailyInstanceType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DailyInstanceType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DailyInstanceType other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DailyQuest : pb::IMessage<DailyQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DailyQuest> _parser = new pb::MessageParser<DailyQuest>(() => new DailyQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DailyQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[102]; }
    }

    [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 DailyQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyQuest(DailyQuest other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      desc_ = other.desc_;
      jumpTo_ = other.jumpTo_;
      order_ = other.order_;
      active_ = other.active_;
      apear_ = other.apear_;
      acceptParams2_ = other.acceptParams2_;
      completeCond_ = other.completeCond_;
      completeCondParams_ = other.completeCondParams_;
      completeCondClient_ = other.completeCondClient_;
      clientCompleteParams1_ = other.clientCompleteParams1_.Clone();
      clientCompleteParams2_ = other.clientCompleteParams2_.Clone();
      itemTid_ = other.itemTid_;
      itemQty_ = other.itemQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyQuest Clone() {
      return new DailyQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 4;
    private int jumpTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int JumpTo {
      get { return jumpTo_; }
      set {
        jumpTo_ = value;
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 5;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "Active" field.</summary>
    public const int ActiveFieldNumber = 6;
    private int active_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Active {
      get { return active_; }
      set {
        active_ = value;
      }
    }

    /// <summary>Field number for the "Apear" field.</summary>
    public const int ApearFieldNumber = 7;
    private bool apear_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Apear {
      get { return apear_; }
      set {
        apear_ = value;
      }
    }

    /// <summary>Field number for the "AcceptParams2" field.</summary>
    public const int AcceptParams2FieldNumber = 8;
    private string acceptParams2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AcceptParams2 {
      get { return acceptParams2_; }
      set {
        acceptParams2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CompleteCond" field.</summary>
    public const int CompleteCondFieldNumber = 9;
    private int completeCond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CompleteCond {
      get { return completeCond_; }
      set {
        completeCond_ = value;
      }
    }

    /// <summary>Field number for the "CompleteCondParams" field.</summary>
    public const int CompleteCondParamsFieldNumber = 10;
    private string completeCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CompleteCondParams {
      get { return completeCondParams_; }
      set {
        completeCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CompleteCondClient" field.</summary>
    public const int CompleteCondClientFieldNumber = 11;
    private int completeCondClient_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CompleteCondClient {
      get { return completeCondClient_; }
      set {
        completeCondClient_ = value;
      }
    }

    /// <summary>Field number for the "ClientCompleteParams1" field.</summary>
    public const int ClientCompleteParams1FieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_clientCompleteParams1_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> clientCompleteParams1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ClientCompleteParams1 {
      get { return clientCompleteParams1_; }
    }

    /// <summary>Field number for the "ClientCompleteParams2" field.</summary>
    public const int ClientCompleteParams2FieldNumber = 13;
    private static readonly pb::FieldCodec<int> _repeated_clientCompleteParams2_codec
        = pb::FieldCodec.ForInt32(106);
    private readonly pbc::RepeatedField<int> clientCompleteParams2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ClientCompleteParams2 {
      get { return clientCompleteParams2_; }
    }

    /// <summary>Field number for the "ItemTid" field.</summary>
    public const int ItemTidFieldNumber = 14;
    private int itemTid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemTid {
      get { return itemTid_; }
      set {
        itemTid_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty" field.</summary>
    public const int ItemQtyFieldNumber = 15;
    private int itemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty {
      get { return itemQty_; }
      set {
        itemQty_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DailyQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DailyQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (JumpTo != other.JumpTo) return false;
      if (Order != other.Order) return false;
      if (Active != other.Active) return false;
      if (Apear != other.Apear) return false;
      if (AcceptParams2 != other.AcceptParams2) return false;
      if (CompleteCond != other.CompleteCond) return false;
      if (CompleteCondParams != other.CompleteCondParams) return false;
      if (CompleteCondClient != other.CompleteCondClient) return false;
      if(!clientCompleteParams1_.Equals(other.clientCompleteParams1_)) return false;
      if(!clientCompleteParams2_.Equals(other.clientCompleteParams2_)) return false;
      if (ItemTid != other.ItemTid) return false;
      if (ItemQty != other.ItemQty) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (Active != 0) hash ^= Active.GetHashCode();
      if (Apear != false) hash ^= Apear.GetHashCode();
      if (AcceptParams2.Length != 0) hash ^= AcceptParams2.GetHashCode();
      if (CompleteCond != 0) hash ^= CompleteCond.GetHashCode();
      if (CompleteCondParams.Length != 0) hash ^= CompleteCondParams.GetHashCode();
      if (CompleteCondClient != 0) hash ^= CompleteCondClient.GetHashCode();
      hash ^= clientCompleteParams1_.GetHashCode();
      hash ^= clientCompleteParams2_.GetHashCode();
      if (ItemTid != 0) hash ^= ItemTid.GetHashCode();
      if (ItemQty != 0) hash ^= ItemQty.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Order);
      }
      if (Active != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Active);
      }
      if (Apear != false) {
        output.WriteRawTag(56);
        output.WriteBool(Apear);
      }
      if (AcceptParams2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(AcceptParams2);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CompleteCondParams);
      }
      if (CompleteCondClient != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(CompleteCondClient);
      }
      clientCompleteParams1_.WriteTo(output, _repeated_clientCompleteParams1_codec);
      clientCompleteParams2_.WriteTo(output, _repeated_clientCompleteParams2_codec);
      if (ItemTid != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ItemTid);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ItemQty);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Order);
      }
      if (Active != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Active);
      }
      if (Apear != false) {
        output.WriteRawTag(56);
        output.WriteBool(Apear);
      }
      if (AcceptParams2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(AcceptParams2);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CompleteCondParams);
      }
      if (CompleteCondClient != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(CompleteCondClient);
      }
      clientCompleteParams1_.WriteTo(ref output, _repeated_clientCompleteParams1_codec);
      clientCompleteParams2_.WriteTo(ref output, _repeated_clientCompleteParams2_codec);
      if (ItemTid != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ItemTid);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ItemQty);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (Active != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Active);
      }
      if (Apear != false) {
        size += 1 + 1;
      }
      if (AcceptParams2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AcceptParams2);
      }
      if (CompleteCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CompleteCondParams);
      }
      if (CompleteCondClient != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCondClient);
      }
      size += clientCompleteParams1_.CalculateSize(_repeated_clientCompleteParams1_codec);
      size += clientCompleteParams2_.CalculateSize(_repeated_clientCompleteParams2_codec);
      if (ItemTid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemTid);
      }
      if (ItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DailyQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.Active != 0) {
        Active = other.Active;
      }
      if (other.Apear != false) {
        Apear = other.Apear;
      }
      if (other.AcceptParams2.Length != 0) {
        AcceptParams2 = other.AcceptParams2;
      }
      if (other.CompleteCond != 0) {
        CompleteCond = other.CompleteCond;
      }
      if (other.CompleteCondParams.Length != 0) {
        CompleteCondParams = other.CompleteCondParams;
      }
      if (other.CompleteCondClient != 0) {
        CompleteCondClient = other.CompleteCondClient;
      }
      clientCompleteParams1_.Add(other.clientCompleteParams1_);
      clientCompleteParams2_.Add(other.clientCompleteParams2_);
      if (other.ItemTid != 0) {
        ItemTid = other.ItemTid;
      }
      if (other.ItemQty != 0) {
        ItemQty = other.ItemQty;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 40: {
            Order = input.ReadInt32();
            break;
          }
          case 48: {
            Active = input.ReadInt32();
            break;
          }
          case 56: {
            Apear = input.ReadBool();
            break;
          }
          case 66: {
            AcceptParams2 = input.ReadString();
            break;
          }
          case 72: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 82: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 88: {
            CompleteCondClient = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            clientCompleteParams1_.AddEntriesFrom(input, _repeated_clientCompleteParams1_codec);
            break;
          }
          case 106:
          case 104: {
            clientCompleteParams2_.AddEntriesFrom(input, _repeated_clientCompleteParams2_codec);
            break;
          }
          case 112: {
            ItemTid = input.ReadInt32();
            break;
          }
          case 120: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 40: {
            Order = input.ReadInt32();
            break;
          }
          case 48: {
            Active = input.ReadInt32();
            break;
          }
          case 56: {
            Apear = input.ReadBool();
            break;
          }
          case 66: {
            AcceptParams2 = input.ReadString();
            break;
          }
          case 72: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 82: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 88: {
            CompleteCondClient = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            clientCompleteParams1_.AddEntriesFrom(ref input, _repeated_clientCompleteParams1_codec);
            break;
          }
          case 106:
          case 104: {
            clientCompleteParams2_.AddEntriesFrom(ref input, _repeated_clientCompleteParams2_codec);
            break;
          }
          case 112: {
            ItemTid = input.ReadInt32();
            break;
          }
          case 120: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DailyQuest : pb::IMessage<table_DailyQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DailyQuest> _parser = new pb::MessageParser<table_DailyQuest>(() => new table_DailyQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DailyQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[103]; }
    }

    [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 table_DailyQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyQuest(table_DailyQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyQuest Clone() {
      return new table_DailyQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DailyQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DailyQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DailyQuest> list_ = new pbc::RepeatedField<global::Nova.Client.DailyQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DailyQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DailyQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DailyQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DailyQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DailyQuestActive : pb::IMessage<DailyQuestActive>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DailyQuestActive> _parser = new pb::MessageParser<DailyQuestActive>(() => new DailyQuestActive());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DailyQuestActive> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[104]; }
    }

    [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 DailyQuestActive() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyQuestActive(DailyQuestActive other) : this() {
      id_ = other.id_;
      active_ = other.active_;
      itemTid1_ = other.itemTid1_;
      number1_ = other.number1_;
      itemTid2_ = other.itemTid2_;
      number2_ = other.number2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyQuestActive Clone() {
      return new DailyQuestActive(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Active" field.</summary>
    public const int ActiveFieldNumber = 2;
    private int active_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Active {
      get { return active_; }
      set {
        active_ = value;
      }
    }

    /// <summary>Field number for the "ItemTid1" field.</summary>
    public const int ItemTid1FieldNumber = 3;
    private int itemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemTid1 {
      get { return itemTid1_; }
      set {
        itemTid1_ = value;
      }
    }

    /// <summary>Field number for the "Number1" field.</summary>
    public const int Number1FieldNumber = 4;
    private int number1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number1 {
      get { return number1_; }
      set {
        number1_ = value;
      }
    }

    /// <summary>Field number for the "ItemTid2" field.</summary>
    public const int ItemTid2FieldNumber = 5;
    private int itemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemTid2 {
      get { return itemTid2_; }
      set {
        itemTid2_ = value;
      }
    }

    /// <summary>Field number for the "Number2" field.</summary>
    public const int Number2FieldNumber = 6;
    private int number2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number2 {
      get { return number2_; }
      set {
        number2_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DailyQuestActive);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DailyQuestActive other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Active != other.Active) return false;
      if (ItemTid1 != other.ItemTid1) return false;
      if (Number1 != other.Number1) return false;
      if (ItemTid2 != other.ItemTid2) return false;
      if (Number2 != other.Number2) 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 (Active != 0) hash ^= Active.GetHashCode();
      if (ItemTid1 != 0) hash ^= ItemTid1.GetHashCode();
      if (Number1 != 0) hash ^= Number1.GetHashCode();
      if (ItemTid2 != 0) hash ^= ItemTid2.GetHashCode();
      if (Number2 != 0) hash ^= Number2.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.WriteInt32(Id);
      }
      if (Active != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Active);
      }
      if (ItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ItemTid1);
      }
      if (Number1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Number1);
      }
      if (ItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemTid2);
      }
      if (Number2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Number2);
      }
      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.WriteInt32(Id);
      }
      if (Active != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Active);
      }
      if (ItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ItemTid1);
      }
      if (Number1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Number1);
      }
      if (ItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemTid2);
      }
      if (Number2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Number2);
      }
      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.ComputeInt32Size(Id);
      }
      if (Active != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Active);
      }
      if (ItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemTid1);
      }
      if (Number1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number1);
      }
      if (ItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemTid2);
      }
      if (Number2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DailyQuestActive other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Active != 0) {
        Active = other.Active;
      }
      if (other.ItemTid1 != 0) {
        ItemTid1 = other.ItemTid1;
      }
      if (other.Number1 != 0) {
        Number1 = other.Number1;
      }
      if (other.ItemTid2 != 0) {
        ItemTid2 = other.ItemTid2;
      }
      if (other.Number2 != 0) {
        Number2 = other.Number2;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Active = input.ReadInt32();
            break;
          }
          case 24: {
            ItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            Number1 = input.ReadInt32();
            break;
          }
          case 40: {
            ItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            Number2 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Active = input.ReadInt32();
            break;
          }
          case 24: {
            ItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            Number1 = input.ReadInt32();
            break;
          }
          case 40: {
            ItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            Number2 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DailyQuestActive : pb::IMessage<table_DailyQuestActive>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DailyQuestActive> _parser = new pb::MessageParser<table_DailyQuestActive>(() => new table_DailyQuestActive());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DailyQuestActive> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[105]; }
    }

    [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 table_DailyQuestActive() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyQuestActive(table_DailyQuestActive other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyQuestActive Clone() {
      return new table_DailyQuestActive(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DailyQuestActive> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DailyQuestActive.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DailyQuestActive> list_ = new pbc::RepeatedField<global::Nova.Client.DailyQuestActive>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DailyQuestActive> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DailyQuestActive);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DailyQuestActive other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DailyQuestActive other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DailyQuestAward : pb::IMessage<DailyQuestAward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DailyQuestAward> _parser = new pb::MessageParser<DailyQuestAward>(() => new DailyQuestAward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DailyQuestAward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[106]; }
    }

    [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 DailyQuestAward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyQuestAward(DailyQuestAward other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      needPoint_ = other.needPoint_;
      numShow_ = other.numShow_;
      itemTid1_ = other.itemTid1_;
      number1_ = other.number1_;
      itemTid2_ = other.itemTid2_;
      number2_ = other.number2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DailyQuestAward Clone() {
      return new DailyQuestAward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NeedPoint" field.</summary>
    public const int NeedPointFieldNumber = 3;
    private int needPoint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedPoint {
      get { return needPoint_; }
      set {
        needPoint_ = value;
      }
    }

    /// <summary>Field number for the "NumShow" field.</summary>
    public const int NumShowFieldNumber = 4;
    private int numShow_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NumShow {
      get { return numShow_; }
      set {
        numShow_ = value;
      }
    }

    /// <summary>Field number for the "ItemTid1" field.</summary>
    public const int ItemTid1FieldNumber = 5;
    private int itemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemTid1 {
      get { return itemTid1_; }
      set {
        itemTid1_ = value;
      }
    }

    /// <summary>Field number for the "Number1" field.</summary>
    public const int Number1FieldNumber = 6;
    private int number1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number1 {
      get { return number1_; }
      set {
        number1_ = value;
      }
    }

    /// <summary>Field number for the "ItemTid2" field.</summary>
    public const int ItemTid2FieldNumber = 7;
    private int itemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemTid2 {
      get { return itemTid2_; }
      set {
        itemTid2_ = value;
      }
    }

    /// <summary>Field number for the "Number2" field.</summary>
    public const int Number2FieldNumber = 8;
    private int number2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Number2 {
      get { return number2_; }
      set {
        number2_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DailyQuestAward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DailyQuestAward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (NeedPoint != other.NeedPoint) return false;
      if (NumShow != other.NumShow) return false;
      if (ItemTid1 != other.ItemTid1) return false;
      if (Number1 != other.Number1) return false;
      if (ItemTid2 != other.ItemTid2) return false;
      if (Number2 != other.Number2) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (NeedPoint != 0) hash ^= NeedPoint.GetHashCode();
      if (NumShow != 0) hash ^= NumShow.GetHashCode();
      if (ItemTid1 != 0) hash ^= ItemTid1.GetHashCode();
      if (Number1 != 0) hash ^= Number1.GetHashCode();
      if (ItemTid2 != 0) hash ^= ItemTid2.GetHashCode();
      if (Number2 != 0) hash ^= Number2.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (NeedPoint != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(NeedPoint);
      }
      if (NumShow != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NumShow);
      }
      if (ItemTid1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemTid1);
      }
      if (Number1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Number1);
      }
      if (ItemTid2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemTid2);
      }
      if (Number2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Number2);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (NeedPoint != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(NeedPoint);
      }
      if (NumShow != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NumShow);
      }
      if (ItemTid1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemTid1);
      }
      if (Number1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Number1);
      }
      if (ItemTid2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemTid2);
      }
      if (Number2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Number2);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (NeedPoint != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedPoint);
      }
      if (NumShow != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NumShow);
      }
      if (ItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemTid1);
      }
      if (Number1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number1);
      }
      if (ItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemTid2);
      }
      if (Number2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Number2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DailyQuestAward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.NeedPoint != 0) {
        NeedPoint = other.NeedPoint;
      }
      if (other.NumShow != 0) {
        NumShow = other.NumShow;
      }
      if (other.ItemTid1 != 0) {
        ItemTid1 = other.ItemTid1;
      }
      if (other.Number1 != 0) {
        Number1 = other.Number1;
      }
      if (other.ItemTid2 != 0) {
        ItemTid2 = other.ItemTid2;
      }
      if (other.Number2 != 0) {
        Number2 = other.Number2;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            NeedPoint = input.ReadInt32();
            break;
          }
          case 32: {
            NumShow = input.ReadInt32();
            break;
          }
          case 40: {
            ItemTid1 = input.ReadInt32();
            break;
          }
          case 48: {
            Number1 = input.ReadInt32();
            break;
          }
          case 56: {
            ItemTid2 = input.ReadInt32();
            break;
          }
          case 64: {
            Number2 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            NeedPoint = input.ReadInt32();
            break;
          }
          case 32: {
            NumShow = input.ReadInt32();
            break;
          }
          case 40: {
            ItemTid1 = input.ReadInt32();
            break;
          }
          case 48: {
            Number1 = input.ReadInt32();
            break;
          }
          case 56: {
            ItemTid2 = input.ReadInt32();
            break;
          }
          case 64: {
            Number2 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DailyQuestAward : pb::IMessage<table_DailyQuestAward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DailyQuestAward> _parser = new pb::MessageParser<table_DailyQuestAward>(() => new table_DailyQuestAward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DailyQuestAward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[107]; }
    }

    [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 table_DailyQuestAward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyQuestAward(table_DailyQuestAward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DailyQuestAward Clone() {
      return new table_DailyQuestAward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DailyQuestAward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DailyQuestAward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DailyQuestAward> list_ = new pbc::RepeatedField<global::Nova.Client.DailyQuestAward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DailyQuestAward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DailyQuestAward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DailyQuestAward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DailyQuestAward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DatingCharResponse : pb::IMessage<DatingCharResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DatingCharResponse> _parser = new pb::MessageParser<DatingCharResponse>(() => new DatingCharResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DatingCharResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[108]; }
    }

    [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 DatingCharResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DatingCharResponse(DatingCharResponse other) : this() {
      id_ = other.id_;
      charId_ = other.charId_;
      type_ = other.type_;
      voiceKey_ = other.voiceKey_;
      action_ = other.action_;
      words_ = other.words_;
      bubbleEmoji_ = other.bubbleEmoji_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DatingCharResponse Clone() {
      return new DatingCharResponse(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 2;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 3;
    private string type_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Type {
      get { return type_; }
      set {
        type_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "VoiceKey" field.</summary>
    public const int VoiceKeyFieldNumber = 4;
    private string voiceKey_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string VoiceKey {
      get { return voiceKey_; }
      set {
        voiceKey_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Action" field.</summary>
    public const int ActionFieldNumber = 5;
    private string action_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Action {
      get { return action_; }
      set {
        action_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Words" field.</summary>
    public const int WordsFieldNumber = 6;
    private string words_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Words {
      get { return words_; }
      set {
        words_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BubbleEmoji" field.</summary>
    public const int BubbleEmojiFieldNumber = 7;
    private string bubbleEmoji_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BubbleEmoji {
      get { return bubbleEmoji_; }
      set {
        bubbleEmoji_ = 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 DatingCharResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DatingCharResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharId != other.CharId) return false;
      if (Type != other.Type) return false;
      if (VoiceKey != other.VoiceKey) return false;
      if (Action != other.Action) return false;
      if (Words != other.Words) return false;
      if (BubbleEmoji != other.BubbleEmoji) 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 (CharId != 0) hash ^= CharId.GetHashCode();
      if (Type.Length != 0) hash ^= Type.GetHashCode();
      if (VoiceKey.Length != 0) hash ^= VoiceKey.GetHashCode();
      if (Action.Length != 0) hash ^= Action.GetHashCode();
      if (Words.Length != 0) hash ^= Words.GetHashCode();
      if (BubbleEmoji.Length != 0) hash ^= BubbleEmoji.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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (Type.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Type);
      }
      if (VoiceKey.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(VoiceKey);
      }
      if (Action.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Action);
      }
      if (Words.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Words);
      }
      if (BubbleEmoji.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(BubbleEmoji);
      }
      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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (Type.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Type);
      }
      if (VoiceKey.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(VoiceKey);
      }
      if (Action.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Action);
      }
      if (Words.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Words);
      }
      if (BubbleEmoji.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(BubbleEmoji);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (Type.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Type);
      }
      if (VoiceKey.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(VoiceKey);
      }
      if (Action.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Action);
      }
      if (Words.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Words);
      }
      if (BubbleEmoji.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BubbleEmoji);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DatingCharResponse other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.Type.Length != 0) {
        Type = other.Type;
      }
      if (other.VoiceKey.Length != 0) {
        VoiceKey = other.VoiceKey;
      }
      if (other.Action.Length != 0) {
        Action = other.Action;
      }
      if (other.Words.Length != 0) {
        Words = other.Words;
      }
      if (other.BubbleEmoji.Length != 0) {
        BubbleEmoji = other.BubbleEmoji;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 26: {
            Type = input.ReadString();
            break;
          }
          case 34: {
            VoiceKey = input.ReadString();
            break;
          }
          case 42: {
            Action = input.ReadString();
            break;
          }
          case 50: {
            Words = input.ReadString();
            break;
          }
          case 58: {
            BubbleEmoji = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 26: {
            Type = input.ReadString();
            break;
          }
          case 34: {
            VoiceKey = input.ReadString();
            break;
          }
          case 42: {
            Action = input.ReadString();
            break;
          }
          case 50: {
            Words = input.ReadString();
            break;
          }
          case 58: {
            BubbleEmoji = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DatingCharResponse : pb::IMessage<table_DatingCharResponse>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DatingCharResponse> _parser = new pb::MessageParser<table_DatingCharResponse>(() => new table_DatingCharResponse());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DatingCharResponse> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[109]; }
    }

    [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 table_DatingCharResponse() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DatingCharResponse(table_DatingCharResponse other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DatingCharResponse Clone() {
      return new table_DatingCharResponse(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DatingCharResponse> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DatingCharResponse.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DatingCharResponse> list_ = new pbc::RepeatedField<global::Nova.Client.DatingCharResponse>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DatingCharResponse> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DatingCharResponse);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DatingCharResponse other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DatingCharResponse other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DatingEvent : pb::IMessage<DatingEvent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DatingEvent> _parser = new pb::MessageParser<DatingEvent>(() => new DatingEvent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DatingEvent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[110]; }
    }

    [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 DatingEvent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DatingEvent(DatingEvent other) : this() {
      id_ = other.id_;
      datingEventType_ = other.datingEventType_;
      datingEventParams_ = other.datingEventParams_.Clone();
      mutexTag_ = other.mutexTag_;
      sortTag_ = other.sortTag_;
      affinity_ = other.affinity_;
      reward_ = other.reward_.Clone();
      desc1_ = other.desc1_;
      desc2_ = other.desc2_;
      desc3_ = other.desc3_;
      response_ = other.response_;
      name_ = other.name_;
      clue_ = other.clue_;
      memory_ = other.memory_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DatingEvent Clone() {
      return new DatingEvent(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "DatingEventType" field.</summary>
    public const int DatingEventTypeFieldNumber = 2;
    private int datingEventType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DatingEventType {
      get { return datingEventType_; }
      set {
        datingEventType_ = value;
      }
    }

    /// <summary>Field number for the "DatingEventParams" field.</summary>
    public const int DatingEventParamsFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_datingEventParams_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> datingEventParams_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DatingEventParams {
      get { return datingEventParams_; }
    }

    /// <summary>Field number for the "MutexTag" field.</summary>
    public const int MutexTagFieldNumber = 4;
    private int mutexTag_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MutexTag {
      get { return mutexTag_; }
      set {
        mutexTag_ = value;
      }
    }

    /// <summary>Field number for the "SortTag" field.</summary>
    public const int SortTagFieldNumber = 5;
    private int sortTag_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SortTag {
      get { return sortTag_; }
      set {
        sortTag_ = value;
      }
    }

    /// <summary>Field number for the "Affinity" field.</summary>
    public const int AffinityFieldNumber = 6;
    private int affinity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Affinity {
      get { return affinity_; }
      set {
        affinity_ = value;
      }
    }

    /// <summary>Field number for the "Reward" field.</summary>
    public const int RewardFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_reward_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> reward_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Reward {
      get { return reward_; }
    }

    /// <summary>Field number for the "Desc1" field.</summary>
    public const int Desc1FieldNumber = 8;
    private string desc1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc1 {
      get { return desc1_; }
      set {
        desc1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc2" field.</summary>
    public const int Desc2FieldNumber = 9;
    private string desc2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc2 {
      get { return desc2_; }
      set {
        desc2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc3" field.</summary>
    public const int Desc3FieldNumber = 10;
    private string desc3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc3 {
      get { return desc3_; }
      set {
        desc3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Response" field.</summary>
    public const int ResponseFieldNumber = 11;
    private string response_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Response {
      get { return response_; }
      set {
        response_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 12;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Clue" field.</summary>
    public const int ClueFieldNumber = 13;
    private string clue_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Clue {
      get { return clue_; }
      set {
        clue_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Memory" field.</summary>
    public const int MemoryFieldNumber = 14;
    private string memory_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Memory {
      get { return memory_; }
      set {
        memory_ = 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 DatingEvent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DatingEvent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (DatingEventType != other.DatingEventType) return false;
      if(!datingEventParams_.Equals(other.datingEventParams_)) return false;
      if (MutexTag != other.MutexTag) return false;
      if (SortTag != other.SortTag) return false;
      if (Affinity != other.Affinity) return false;
      if(!reward_.Equals(other.reward_)) return false;
      if (Desc1 != other.Desc1) return false;
      if (Desc2 != other.Desc2) return false;
      if (Desc3 != other.Desc3) return false;
      if (Response != other.Response) return false;
      if (Name != other.Name) return false;
      if (Clue != other.Clue) return false;
      if (Memory != other.Memory) 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 (DatingEventType != 0) hash ^= DatingEventType.GetHashCode();
      hash ^= datingEventParams_.GetHashCode();
      if (MutexTag != 0) hash ^= MutexTag.GetHashCode();
      if (SortTag != 0) hash ^= SortTag.GetHashCode();
      if (Affinity != 0) hash ^= Affinity.GetHashCode();
      hash ^= reward_.GetHashCode();
      if (Desc1.Length != 0) hash ^= Desc1.GetHashCode();
      if (Desc2.Length != 0) hash ^= Desc2.GetHashCode();
      if (Desc3.Length != 0) hash ^= Desc3.GetHashCode();
      if (Response.Length != 0) hash ^= Response.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Clue.Length != 0) hash ^= Clue.GetHashCode();
      if (Memory.Length != 0) hash ^= Memory.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.WriteInt32(Id);
      }
      if (DatingEventType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DatingEventType);
      }
      datingEventParams_.WriteTo(output, _repeated_datingEventParams_codec);
      if (MutexTag != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MutexTag);
      }
      if (SortTag != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SortTag);
      }
      if (Affinity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Affinity);
      }
      reward_.WriteTo(output, _repeated_reward_codec);
      if (Desc1.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Desc1);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc2);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Desc3);
      }
      if (Response.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Response);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Name);
      }
      if (Clue.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Clue);
      }
      if (Memory.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Memory);
      }
      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.WriteInt32(Id);
      }
      if (DatingEventType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DatingEventType);
      }
      datingEventParams_.WriteTo(ref output, _repeated_datingEventParams_codec);
      if (MutexTag != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MutexTag);
      }
      if (SortTag != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SortTag);
      }
      if (Affinity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Affinity);
      }
      reward_.WriteTo(ref output, _repeated_reward_codec);
      if (Desc1.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Desc1);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc2);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Desc3);
      }
      if (Response.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Response);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Name);
      }
      if (Clue.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Clue);
      }
      if (Memory.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Memory);
      }
      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.ComputeInt32Size(Id);
      }
      if (DatingEventType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DatingEventType);
      }
      size += datingEventParams_.CalculateSize(_repeated_datingEventParams_codec);
      if (MutexTag != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MutexTag);
      }
      if (SortTag != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SortTag);
      }
      if (Affinity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Affinity);
      }
      size += reward_.CalculateSize(_repeated_reward_codec);
      if (Desc1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc1);
      }
      if (Desc2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc2);
      }
      if (Desc3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc3);
      }
      if (Response.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Response);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Clue.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Clue);
      }
      if (Memory.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Memory);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DatingEvent other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.DatingEventType != 0) {
        DatingEventType = other.DatingEventType;
      }
      datingEventParams_.Add(other.datingEventParams_);
      if (other.MutexTag != 0) {
        MutexTag = other.MutexTag;
      }
      if (other.SortTag != 0) {
        SortTag = other.SortTag;
      }
      if (other.Affinity != 0) {
        Affinity = other.Affinity;
      }
      reward_.Add(other.reward_);
      if (other.Desc1.Length != 0) {
        Desc1 = other.Desc1;
      }
      if (other.Desc2.Length != 0) {
        Desc2 = other.Desc2;
      }
      if (other.Desc3.Length != 0) {
        Desc3 = other.Desc3;
      }
      if (other.Response.Length != 0) {
        Response = other.Response;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Clue.Length != 0) {
        Clue = other.Clue;
      }
      if (other.Memory.Length != 0) {
        Memory = other.Memory;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            DatingEventType = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            datingEventParams_.AddEntriesFrom(input, _repeated_datingEventParams_codec);
            break;
          }
          case 32: {
            MutexTag = input.ReadInt32();
            break;
          }
          case 40: {
            SortTag = input.ReadInt32();
            break;
          }
          case 48: {
            Affinity = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            reward_.AddEntriesFrom(input, _repeated_reward_codec);
            break;
          }
          case 66: {
            Desc1 = input.ReadString();
            break;
          }
          case 74: {
            Desc2 = input.ReadString();
            break;
          }
          case 82: {
            Desc3 = input.ReadString();
            break;
          }
          case 90: {
            Response = input.ReadString();
            break;
          }
          case 98: {
            Name = input.ReadString();
            break;
          }
          case 106: {
            Clue = input.ReadString();
            break;
          }
          case 114: {
            Memory = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            DatingEventType = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            datingEventParams_.AddEntriesFrom(ref input, _repeated_datingEventParams_codec);
            break;
          }
          case 32: {
            MutexTag = input.ReadInt32();
            break;
          }
          case 40: {
            SortTag = input.ReadInt32();
            break;
          }
          case 48: {
            Affinity = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            reward_.AddEntriesFrom(ref input, _repeated_reward_codec);
            break;
          }
          case 66: {
            Desc1 = input.ReadString();
            break;
          }
          case 74: {
            Desc2 = input.ReadString();
            break;
          }
          case 82: {
            Desc3 = input.ReadString();
            break;
          }
          case 90: {
            Response = input.ReadString();
            break;
          }
          case 98: {
            Name = input.ReadString();
            break;
          }
          case 106: {
            Clue = input.ReadString();
            break;
          }
          case 114: {
            Memory = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DatingEvent : pb::IMessage<table_DatingEvent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DatingEvent> _parser = new pb::MessageParser<table_DatingEvent>(() => new table_DatingEvent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DatingEvent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[111]; }
    }

    [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 table_DatingEvent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DatingEvent(table_DatingEvent other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DatingEvent Clone() {
      return new table_DatingEvent(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DatingEvent> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DatingEvent.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DatingEvent> list_ = new pbc::RepeatedField<global::Nova.Client.DatingEvent>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DatingEvent> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DatingEvent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DatingEvent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DatingEvent other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DatingLandmark : pb::IMessage<DatingLandmark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DatingLandmark> _parser = new pb::MessageParser<DatingLandmark>(() => new DatingLandmark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DatingLandmark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[112]; }
    }

    [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 DatingLandmark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DatingLandmark(DatingLandmark other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      bg_ = other.bg_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DatingLandmark Clone() {
      return new DatingLandmark(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 4;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bg" field.</summary>
    public const int BgFieldNumber = 5;
    private string bg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Bg {
      get { return bg_; }
      set {
        bg_ = 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 DatingLandmark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DatingLandmark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (Bg != other.Bg) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Bg.Length != 0) hash ^= Bg.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Bg);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Bg);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Bg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Bg);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DatingLandmark other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Bg.Length != 0) {
        Bg = other.Bg;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            Bg = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            Bg = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DatingLandmark : pb::IMessage<table_DatingLandmark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DatingLandmark> _parser = new pb::MessageParser<table_DatingLandmark>(() => new table_DatingLandmark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DatingLandmark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[113]; }
    }

    [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 table_DatingLandmark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DatingLandmark(table_DatingLandmark other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DatingLandmark Clone() {
      return new table_DatingLandmark(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DatingLandmark> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DatingLandmark.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DatingLandmark> list_ = new pbc::RepeatedField<global::Nova.Client.DatingLandmark>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DatingLandmark> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DatingLandmark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DatingLandmark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DatingLandmark other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DestroyObject : pb::IMessage<DestroyObject>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DestroyObject> _parser = new pb::MessageParser<DestroyObject>(() => new DestroyObject());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DestroyObject> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[114]; }
    }

    [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 DestroyObject() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DestroyObject(DestroyObject other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      lv_ = other.lv_;
      attributeId_ = other.attributeId_;
      templete_ = other.templete_;
      faction_ = other.faction_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DestroyObject Clone() {
      return new DestroyObject(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Lv" field.</summary>
    public const int LvFieldNumber = 3;
    private int lv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Lv {
      get { return lv_; }
      set {
        lv_ = value;
      }
    }

    /// <summary>Field number for the "AttributeId" field.</summary>
    public const int AttributeIdFieldNumber = 4;
    private string attributeId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AttributeId {
      get { return attributeId_; }
      set {
        attributeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Templete" field.</summary>
    public const int TempleteFieldNumber = 5;
    private int templete_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Templete {
      get { return templete_; }
      set {
        templete_ = value;
      }
    }

    /// <summary>Field number for the "Faction" field.</summary>
    public const int FactionFieldNumber = 6;
    private int faction_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Faction {
      get { return faction_; }
      set {
        faction_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DestroyObject);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DestroyObject other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Lv != other.Lv) return false;
      if (AttributeId != other.AttributeId) return false;
      if (Templete != other.Templete) return false;
      if (Faction != other.Faction) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Lv != 0) hash ^= Lv.GetHashCode();
      if (AttributeId.Length != 0) hash ^= AttributeId.GetHashCode();
      if (Templete != 0) hash ^= Templete.GetHashCode();
      if (Faction != 0) hash ^= Faction.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Lv != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Lv);
      }
      if (AttributeId.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AttributeId);
      }
      if (Templete != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Templete);
      }
      if (Faction != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Faction);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Lv != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Lv);
      }
      if (AttributeId.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(AttributeId);
      }
      if (Templete != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Templete);
      }
      if (Faction != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Faction);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Lv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Lv);
      }
      if (AttributeId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AttributeId);
      }
      if (Templete != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Templete);
      }
      if (Faction != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Faction);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DestroyObject other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Lv != 0) {
        Lv = other.Lv;
      }
      if (other.AttributeId.Length != 0) {
        AttributeId = other.AttributeId;
      }
      if (other.Templete != 0) {
        Templete = other.Templete;
      }
      if (other.Faction != 0) {
        Faction = other.Faction;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Lv = input.ReadInt32();
            break;
          }
          case 34: {
            AttributeId = input.ReadString();
            break;
          }
          case 40: {
            Templete = input.ReadInt32();
            break;
          }
          case 48: {
            Faction = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Lv = input.ReadInt32();
            break;
          }
          case 34: {
            AttributeId = input.ReadString();
            break;
          }
          case 40: {
            Templete = input.ReadInt32();
            break;
          }
          case 48: {
            Faction = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DestroyObject : pb::IMessage<table_DestroyObject>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DestroyObject> _parser = new pb::MessageParser<table_DestroyObject>(() => new table_DestroyObject());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DestroyObject> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[115]; }
    }

    [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 table_DestroyObject() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DestroyObject(table_DestroyObject other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DestroyObject Clone() {
      return new table_DestroyObject(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DestroyObject> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DestroyObject.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DestroyObject> list_ = new pbc::RepeatedField<global::Nova.Client.DestroyObject>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DestroyObject> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DestroyObject);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DestroyObject other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DestroyObject other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DictionaryDiagram : pb::IMessage<DictionaryDiagram>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DictionaryDiagram> _parser = new pb::MessageParser<DictionaryDiagram>(() => new DictionaryDiagram());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DictionaryDiagram> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[116]; }
    }

    [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 DictionaryDiagram() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryDiagram(DictionaryDiagram other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryDiagram Clone() {
      return new DictionaryDiagram(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 4;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 DictionaryDiagram);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DictionaryDiagram other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DictionaryDiagram other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DictionaryDiagram : pb::IMessage<table_DictionaryDiagram>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DictionaryDiagram> _parser = new pb::MessageParser<table_DictionaryDiagram>(() => new table_DictionaryDiagram());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DictionaryDiagram> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[117]; }
    }

    [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 table_DictionaryDiagram() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryDiagram(table_DictionaryDiagram other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryDiagram Clone() {
      return new table_DictionaryDiagram(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DictionaryDiagram> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DictionaryDiagram.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DictionaryDiagram> list_ = new pbc::RepeatedField<global::Nova.Client.DictionaryDiagram>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DictionaryDiagram> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DictionaryDiagram);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DictionaryDiagram other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DictionaryDiagram other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DictionaryEntry : pb::IMessage<DictionaryEntry>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DictionaryEntry> _parser = new pb::MessageParser<DictionaryEntry>(() => new DictionaryEntry());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DictionaryEntry> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[118]; }
    }

    [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 DictionaryEntry() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryEntry(DictionaryEntry other) : this() {
      id_ = other.id_;
      index_ = other.index_;
      title_ = other.title_;
      tab_ = other.tab_;
      itemId_ = other.itemId_;
      qty_ = other.qty_;
      diagramList_ = other.diagramList_.Clone();
      sort_ = other.sort_;
      popup_ = other.popup_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryEntry Clone() {
      return new DictionaryEntry(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Index" field.</summary>
    public const int IndexFieldNumber = 2;
    private int index_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Index {
      get { return index_; }
      set {
        index_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 3;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tab" field.</summary>
    public const int TabFieldNumber = 4;
    private int tab_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Tab {
      get { return tab_; }
      set {
        tab_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 5;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "Qty" field.</summary>
    public const int QtyFieldNumber = 6;
    private int qty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Qty {
      get { return qty_; }
      set {
        qty_ = value;
      }
    }

    /// <summary>Field number for the "DiagramList" field.</summary>
    public const int DiagramListFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_diagramList_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> diagramList_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DiagramList {
      get { return diagramList_; }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 8;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "Popup" field.</summary>
    public const int PopupFieldNumber = 9;
    private bool popup_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Popup {
      get { return popup_; }
      set {
        popup_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DictionaryEntry);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DictionaryEntry other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Index != other.Index) return false;
      if (Title != other.Title) return false;
      if (Tab != other.Tab) return false;
      if (ItemId != other.ItemId) return false;
      if (Qty != other.Qty) return false;
      if(!diagramList_.Equals(other.diagramList_)) return false;
      if (Sort != other.Sort) return false;
      if (Popup != other.Popup) 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 (Index != 0) hash ^= Index.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Tab != 0) hash ^= Tab.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (Qty != 0) hash ^= Qty.GetHashCode();
      hash ^= diagramList_.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (Popup != false) hash ^= Popup.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.WriteInt32(Id);
      }
      if (Index != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Index);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Tab != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tab);
      }
      if (ItemId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemId);
      }
      if (Qty != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Qty);
      }
      diagramList_.WriteTo(output, _repeated_diagramList_codec);
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      if (Popup != false) {
        output.WriteRawTag(72);
        output.WriteBool(Popup);
      }
      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.WriteInt32(Id);
      }
      if (Index != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Index);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Tab != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tab);
      }
      if (ItemId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemId);
      }
      if (Qty != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Qty);
      }
      diagramList_.WriteTo(ref output, _repeated_diagramList_codec);
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      if (Popup != false) {
        output.WriteRawTag(72);
        output.WriteBool(Popup);
      }
      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.ComputeInt32Size(Id);
      }
      if (Index != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Tab != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tab);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (Qty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty);
      }
      size += diagramList_.CalculateSize(_repeated_diagramList_codec);
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (Popup != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DictionaryEntry other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Index != 0) {
        Index = other.Index;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Tab != 0) {
        Tab = other.Tab;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.Qty != 0) {
        Qty = other.Qty;
      }
      diagramList_.Add(other.diagramList_);
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.Popup != false) {
        Popup = other.Popup;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Index = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 32: {
            Tab = input.ReadInt32();
            break;
          }
          case 40: {
            ItemId = input.ReadInt32();
            break;
          }
          case 48: {
            Qty = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            diagramList_.AddEntriesFrom(input, _repeated_diagramList_codec);
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
          case 72: {
            Popup = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 16: {
            Index = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 32: {
            Tab = input.ReadInt32();
            break;
          }
          case 40: {
            ItemId = input.ReadInt32();
            break;
          }
          case 48: {
            Qty = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            diagramList_.AddEntriesFrom(ref input, _repeated_diagramList_codec);
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
          case 72: {
            Popup = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DictionaryEntry : pb::IMessage<table_DictionaryEntry>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DictionaryEntry> _parser = new pb::MessageParser<table_DictionaryEntry>(() => new table_DictionaryEntry());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DictionaryEntry> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[119]; }
    }

    [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 table_DictionaryEntry() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryEntry(table_DictionaryEntry other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryEntry Clone() {
      return new table_DictionaryEntry(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DictionaryEntry> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DictionaryEntry.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DictionaryEntry> list_ = new pbc::RepeatedField<global::Nova.Client.DictionaryEntry>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DictionaryEntry> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DictionaryEntry);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DictionaryEntry other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DictionaryEntry other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DictionaryTab : pb::IMessage<DictionaryTab>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DictionaryTab> _parser = new pb::MessageParser<DictionaryTab>(() => new DictionaryTab());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DictionaryTab> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[120]; }
    }

    [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 DictionaryTab() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryTab(DictionaryTab other) : this() {
      tabId_ = other.tabId_;
      icon_ = other.icon_;
      icon2_ = other.icon2_;
      title_ = other.title_;
      hideInBattle_ = other.hideInBattle_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryTab Clone() {
      return new DictionaryTab(this);
    }

    /// <summary>Field number for the "TabId" field.</summary>
    public const int TabIdFieldNumber = 1;
    private int tabId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TabId {
      get { return tabId_; }
      set {
        tabId_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 2;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon2" field.</summary>
    public const int Icon2FieldNumber = 3;
    private string icon2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon2 {
      get { return icon2_; }
      set {
        icon2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 4;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "HideInBattle" field.</summary>
    public const int HideInBattleFieldNumber = 5;
    private bool hideInBattle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HideInBattle {
      get { return hideInBattle_; }
      set {
        hideInBattle_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DictionaryTab);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DictionaryTab other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (TabId != other.TabId) return false;
      if (Icon != other.Icon) return false;
      if (Icon2 != other.Icon2) return false;
      if (Title != other.Title) return false;
      if (HideInBattle != other.HideInBattle) 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 (TabId != 0) hash ^= TabId.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Icon2.Length != 0) hash ^= Icon2.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (HideInBattle != false) hash ^= HideInBattle.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 (TabId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(TabId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      if (Icon2.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon2);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title);
      }
      if (HideInBattle != false) {
        output.WriteRawTag(40);
        output.WriteBool(HideInBattle);
      }
      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 (TabId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(TabId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      if (Icon2.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon2);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title);
      }
      if (HideInBattle != false) {
        output.WriteRawTag(40);
        output.WriteBool(HideInBattle);
      }
      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 (TabId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TabId);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Icon2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon2);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (HideInBattle != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DictionaryTab other) {
      if (other == null) {
        return;
      }
      if (other.TabId != 0) {
        TabId = other.TabId;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Icon2.Length != 0) {
        Icon2 = other.Icon2;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.HideInBattle != false) {
        HideInBattle = other.HideInBattle;
      }
      _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: {
            TabId = input.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
          case 26: {
            Icon2 = input.ReadString();
            break;
          }
          case 34: {
            Title = input.ReadString();
            break;
          }
          case 40: {
            HideInBattle = input.ReadBool();
            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: {
            TabId = input.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
          case 26: {
            Icon2 = input.ReadString();
            break;
          }
          case 34: {
            Title = input.ReadString();
            break;
          }
          case 40: {
            HideInBattle = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DictionaryTab : pb::IMessage<table_DictionaryTab>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DictionaryTab> _parser = new pb::MessageParser<table_DictionaryTab>(() => new table_DictionaryTab());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DictionaryTab> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[121]; }
    }

    [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 table_DictionaryTab() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryTab(table_DictionaryTab other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryTab Clone() {
      return new table_DictionaryTab(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DictionaryTab> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DictionaryTab.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DictionaryTab> list_ = new pbc::RepeatedField<global::Nova.Client.DictionaryTab>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DictionaryTab> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DictionaryTab);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DictionaryTab other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DictionaryTab other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DictionaryTopBarEntry : pb::IMessage<DictionaryTopBarEntry>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DictionaryTopBarEntry> _parser = new pb::MessageParser<DictionaryTopBarEntry>(() => new DictionaryTopBarEntry());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DictionaryTopBarEntry> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[122]; }
    }

    [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 DictionaryTopBarEntry() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryTopBarEntry(DictionaryTopBarEntry other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      diagramList_ = other.diagramList_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DictionaryTopBarEntry Clone() {
      return new DictionaryTopBarEntry(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DiagramList" field.</summary>
    public const int DiagramListFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_diagramList_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> diagramList_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DiagramList {
      get { return diagramList_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DictionaryTopBarEntry);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DictionaryTopBarEntry other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if(!diagramList_.Equals(other.diagramList_)) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      hash ^= diagramList_.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      diagramList_.WriteTo(output, _repeated_diagramList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      diagramList_.WriteTo(ref output, _repeated_diagramList_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      size += diagramList_.CalculateSize(_repeated_diagramList_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DictionaryTopBarEntry other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      diagramList_.Add(other.diagramList_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            diagramList_.AddEntriesFrom(input, _repeated_diagramList_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            diagramList_.AddEntriesFrom(ref input, _repeated_diagramList_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DictionaryTopBarEntry : pb::IMessage<table_DictionaryTopBarEntry>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DictionaryTopBarEntry> _parser = new pb::MessageParser<table_DictionaryTopBarEntry>(() => new table_DictionaryTopBarEntry());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DictionaryTopBarEntry> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[123]; }
    }

    [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 table_DictionaryTopBarEntry() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryTopBarEntry(table_DictionaryTopBarEntry other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DictionaryTopBarEntry Clone() {
      return new table_DictionaryTopBarEntry(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DictionaryTopBarEntry> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DictionaryTopBarEntry.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DictionaryTopBarEntry> list_ = new pbc::RepeatedField<global::Nova.Client.DictionaryTopBarEntry>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DictionaryTopBarEntry> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DictionaryTopBarEntry);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DictionaryTopBarEntry other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DictionaryTopBarEntry other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Disc : pb::IMessage<Disc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Disc> _parser = new pb::MessageParser<Disc>(() => new Disc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Disc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[124]; }
    }

    [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 Disc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Disc(Disc other) : this() {
      id_ = other.id_;
      eET_ = other.eET_;
      tags_ = other.tags_.Clone();
      visible_ = other.visible_;
      available_ = other.available_;
      image_ = other.image_;
      note_ = other.note_.Clone();
      discBg_ = other.discBg_;
      card_ = other.card_;
      gachaBg_ = other.gachaBg_;
      strengthenGroupId_ = other.strengthenGroupId_;
      attrBaseGroupId_ = other.attrBaseGroupId_;
      promoteGroupId_ = other.promoteGroupId_;
      transformItemId_ = other.transformItemId_;
      maxStarTransformItem_ = other.maxStarTransformItem_.Clone();
      passiveSkillGroupId_ = other.passiveSkillGroupId_;
      commonSkillId1_ = other.commonSkillId1_;
      commonSkillId2_ = other.commonSkillId2_;
      readReward_ = other.readReward_.Clone();
      voFile_ = other.voFile_;
      voBegin1_ = other.voBegin1_;
      voLoop1_ = other.voLoop1_;
      voName1_ = other.voName1_;
      voBegin2_ = other.voBegin2_;
      voLoop2_ = other.voLoop2_;
      voName2_ = other.voName2_;
      voStory_ = other.voStory_;
      storyName_ = other.storyName_;
      storyDesc_ = other.storyDesc_;
      charId_ = other.charId_;
      skillScript_ = other.skillScript_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Disc Clone() {
      return new Disc(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 2;
    private int eET_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EET {
      get { return eET_; }
      set {
        eET_ = value;
      }
    }

    /// <summary>Field number for the "Tags" field.</summary>
    public const int TagsFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_tags_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> tags_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Tags {
      get { return tags_; }
    }

    /// <summary>Field number for the "Visible" field.</summary>
    public const int VisibleFieldNumber = 4;
    private bool visible_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Visible {
      get { return visible_; }
      set {
        visible_ = value;
      }
    }

    /// <summary>Field number for the "Available" field.</summary>
    public const int AvailableFieldNumber = 5;
    private bool available_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Available {
      get { return available_; }
      set {
        available_ = value;
      }
    }

    /// <summary>Field number for the "Image" field.</summary>
    public const int ImageFieldNumber = 6;
    private string image_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Image {
      get { return image_; }
      set {
        image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Note" field.</summary>
    public const int NoteFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_note_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> note_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Note {
      get { return note_; }
    }

    /// <summary>Field number for the "DiscBg" field.</summary>
    public const int DiscBgFieldNumber = 8;
    private string discBg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DiscBg {
      get { return discBg_; }
      set {
        discBg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Card" field.</summary>
    public const int CardFieldNumber = 9;
    private string card_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Card {
      get { return card_; }
      set {
        card_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GachaBg" field.</summary>
    public const int GachaBgFieldNumber = 10;
    private string gachaBg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string GachaBg {
      get { return gachaBg_; }
      set {
        gachaBg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "StrengthenGroupId" field.</summary>
    public const int StrengthenGroupIdFieldNumber = 11;
    private int strengthenGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StrengthenGroupId {
      get { return strengthenGroupId_; }
      set {
        strengthenGroupId_ = value;
      }
    }

    /// <summary>Field number for the "AttrBaseGroupId" field.</summary>
    public const int AttrBaseGroupIdFieldNumber = 12;
    private int attrBaseGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttrBaseGroupId {
      get { return attrBaseGroupId_; }
      set {
        attrBaseGroupId_ = value;
      }
    }

    /// <summary>Field number for the "PromoteGroupId" field.</summary>
    public const int PromoteGroupIdFieldNumber = 13;
    private int promoteGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PromoteGroupId {
      get { return promoteGroupId_; }
      set {
        promoteGroupId_ = value;
      }
    }

    /// <summary>Field number for the "TransformItemId" field.</summary>
    public const int TransformItemIdFieldNumber = 14;
    private int transformItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TransformItemId {
      get { return transformItemId_; }
      set {
        transformItemId_ = value;
      }
    }

    /// <summary>Field number for the "MaxStarTransformItem" field.</summary>
    public const int MaxStarTransformItemFieldNumber = 15;
    private static readonly pb::FieldCodec<int> _repeated_maxStarTransformItem_codec
        = pb::FieldCodec.ForInt32(122);
    private readonly pbc::RepeatedField<int> maxStarTransformItem_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> MaxStarTransformItem {
      get { return maxStarTransformItem_; }
    }

    /// <summary>Field number for the "PassiveSkillGroupId" field.</summary>
    public const int PassiveSkillGroupIdFieldNumber = 16;
    private int passiveSkillGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PassiveSkillGroupId {
      get { return passiveSkillGroupId_; }
      set {
        passiveSkillGroupId_ = value;
      }
    }

    /// <summary>Field number for the "CommonSkillId1" field.</summary>
    public const int CommonSkillId1FieldNumber = 17;
    private int commonSkillId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CommonSkillId1 {
      get { return commonSkillId1_; }
      set {
        commonSkillId1_ = value;
      }
    }

    /// <summary>Field number for the "CommonSkillId2" field.</summary>
    public const int CommonSkillId2FieldNumber = 18;
    private int commonSkillId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CommonSkillId2 {
      get { return commonSkillId2_; }
      set {
        commonSkillId2_ = value;
      }
    }

    /// <summary>Field number for the "ReadReward" field.</summary>
    public const int ReadRewardFieldNumber = 19;
    private static readonly pb::FieldCodec<int> _repeated_readReward_codec
        = pb::FieldCodec.ForInt32(154);
    private readonly pbc::RepeatedField<int> readReward_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ReadReward {
      get { return readReward_; }
    }

    /// <summary>Field number for the "VoFile" field.</summary>
    public const int VoFileFieldNumber = 20;
    private string voFile_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string VoFile {
      get { return voFile_; }
      set {
        voFile_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "VoBegin1" field.</summary>
    public const int VoBegin1FieldNumber = 21;
    private float voBegin1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float VoBegin1 {
      get { return voBegin1_; }
      set {
        voBegin1_ = value;
      }
    }

    /// <summary>Field number for the "VoLoop1" field.</summary>
    public const int VoLoop1FieldNumber = 22;
    private float voLoop1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float VoLoop1 {
      get { return voLoop1_; }
      set {
        voLoop1_ = value;
      }
    }

    /// <summary>Field number for the "VoName1" field.</summary>
    public const int VoName1FieldNumber = 23;
    private string voName1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string VoName1 {
      get { return voName1_; }
      set {
        voName1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "VoBegin2" field.</summary>
    public const int VoBegin2FieldNumber = 24;
    private float voBegin2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float VoBegin2 {
      get { return voBegin2_; }
      set {
        voBegin2_ = value;
      }
    }

    /// <summary>Field number for the "VoLoop2" field.</summary>
    public const int VoLoop2FieldNumber = 25;
    private float voLoop2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float VoLoop2 {
      get { return voLoop2_; }
      set {
        voLoop2_ = value;
      }
    }

    /// <summary>Field number for the "VoName2" field.</summary>
    public const int VoName2FieldNumber = 26;
    private string voName2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string VoName2 {
      get { return voName2_; }
      set {
        voName2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "VoStory" field.</summary>
    public const int VoStoryFieldNumber = 27;
    private string voStory_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string VoStory {
      get { return voStory_; }
      set {
        voStory_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "StoryName" field.</summary>
    public const int StoryNameFieldNumber = 28;
    private string storyName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string StoryName {
      get { return storyName_; }
      set {
        storyName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "StoryDesc" field.</summary>
    public const int StoryDescFieldNumber = 29;
    private string storyDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string StoryDesc {
      get { return storyDesc_; }
      set {
        storyDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 30;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "SkillScript" field.</summary>
    public const int SkillScriptFieldNumber = 31;
    private string skillScript_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SkillScript {
      get { return skillScript_; }
      set {
        skillScript_ = 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 Disc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Disc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (EET != other.EET) return false;
      if(!tags_.Equals(other.tags_)) return false;
      if (Visible != other.Visible) return false;
      if (Available != other.Available) return false;
      if (Image != other.Image) return false;
      if(!note_.Equals(other.note_)) return false;
      if (DiscBg != other.DiscBg) return false;
      if (Card != other.Card) return false;
      if (GachaBg != other.GachaBg) return false;
      if (StrengthenGroupId != other.StrengthenGroupId) return false;
      if (AttrBaseGroupId != other.AttrBaseGroupId) return false;
      if (PromoteGroupId != other.PromoteGroupId) return false;
      if (TransformItemId != other.TransformItemId) return false;
      if(!maxStarTransformItem_.Equals(other.maxStarTransformItem_)) return false;
      if (PassiveSkillGroupId != other.PassiveSkillGroupId) return false;
      if (CommonSkillId1 != other.CommonSkillId1) return false;
      if (CommonSkillId2 != other.CommonSkillId2) return false;
      if(!readReward_.Equals(other.readReward_)) return false;
      if (VoFile != other.VoFile) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(VoBegin1, other.VoBegin1)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(VoLoop1, other.VoLoop1)) return false;
      if (VoName1 != other.VoName1) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(VoBegin2, other.VoBegin2)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(VoLoop2, other.VoLoop2)) return false;
      if (VoName2 != other.VoName2) return false;
      if (VoStory != other.VoStory) return false;
      if (StoryName != other.StoryName) return false;
      if (StoryDesc != other.StoryDesc) return false;
      if (CharId != other.CharId) return false;
      if (SkillScript != other.SkillScript) 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 (EET != 0) hash ^= EET.GetHashCode();
      hash ^= tags_.GetHashCode();
      if (Visible != false) hash ^= Visible.GetHashCode();
      if (Available != false) hash ^= Available.GetHashCode();
      if (Image.Length != 0) hash ^= Image.GetHashCode();
      hash ^= note_.GetHashCode();
      if (DiscBg.Length != 0) hash ^= DiscBg.GetHashCode();
      if (Card.Length != 0) hash ^= Card.GetHashCode();
      if (GachaBg.Length != 0) hash ^= GachaBg.GetHashCode();
      if (StrengthenGroupId != 0) hash ^= StrengthenGroupId.GetHashCode();
      if (AttrBaseGroupId != 0) hash ^= AttrBaseGroupId.GetHashCode();
      if (PromoteGroupId != 0) hash ^= PromoteGroupId.GetHashCode();
      if (TransformItemId != 0) hash ^= TransformItemId.GetHashCode();
      hash ^= maxStarTransformItem_.GetHashCode();
      if (PassiveSkillGroupId != 0) hash ^= PassiveSkillGroupId.GetHashCode();
      if (CommonSkillId1 != 0) hash ^= CommonSkillId1.GetHashCode();
      if (CommonSkillId2 != 0) hash ^= CommonSkillId2.GetHashCode();
      hash ^= readReward_.GetHashCode();
      if (VoFile.Length != 0) hash ^= VoFile.GetHashCode();
      if (VoBegin1 != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(VoBegin1);
      if (VoLoop1 != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(VoLoop1);
      if (VoName1.Length != 0) hash ^= VoName1.GetHashCode();
      if (VoBegin2 != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(VoBegin2);
      if (VoLoop2 != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(VoLoop2);
      if (VoName2.Length != 0) hash ^= VoName2.GetHashCode();
      if (VoStory.Length != 0) hash ^= VoStory.GetHashCode();
      if (StoryName.Length != 0) hash ^= StoryName.GetHashCode();
      if (StoryDesc.Length != 0) hash ^= StoryDesc.GetHashCode();
      if (CharId != 0) hash ^= CharId.GetHashCode();
      if (SkillScript.Length != 0) hash ^= SkillScript.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.WriteInt32(Id);
      }
      if (EET != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(EET);
      }
      tags_.WriteTo(output, _repeated_tags_codec);
      if (Visible != false) {
        output.WriteRawTag(32);
        output.WriteBool(Visible);
      }
      if (Available != false) {
        output.WriteRawTag(40);
        output.WriteBool(Available);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Image);
      }
      note_.WriteTo(output, _repeated_note_codec);
      if (DiscBg.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DiscBg);
      }
      if (Card.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Card);
      }
      if (GachaBg.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(GachaBg);
      }
      if (StrengthenGroupId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(StrengthenGroupId);
      }
      if (AttrBaseGroupId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AttrBaseGroupId);
      }
      if (PromoteGroupId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(PromoteGroupId);
      }
      if (TransformItemId != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(TransformItemId);
      }
      maxStarTransformItem_.WriteTo(output, _repeated_maxStarTransformItem_codec);
      if (PassiveSkillGroupId != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(PassiveSkillGroupId);
      }
      if (CommonSkillId1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(CommonSkillId1);
      }
      if (CommonSkillId2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(CommonSkillId2);
      }
      readReward_.WriteTo(output, _repeated_readReward_codec);
      if (VoFile.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(VoFile);
      }
      if (VoBegin1 != 0F) {
        output.WriteRawTag(173, 1);
        output.WriteFloat(VoBegin1);
      }
      if (VoLoop1 != 0F) {
        output.WriteRawTag(181, 1);
        output.WriteFloat(VoLoop1);
      }
      if (VoName1.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(VoName1);
      }
      if (VoBegin2 != 0F) {
        output.WriteRawTag(197, 1);
        output.WriteFloat(VoBegin2);
      }
      if (VoLoop2 != 0F) {
        output.WriteRawTag(205, 1);
        output.WriteFloat(VoLoop2);
      }
      if (VoName2.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(VoName2);
      }
      if (VoStory.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(VoStory);
      }
      if (StoryName.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(StoryName);
      }
      if (StoryDesc.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(StoryDesc);
      }
      if (CharId != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(CharId);
      }
      if (SkillScript.Length != 0) {
        output.WriteRawTag(250, 1);
        output.WriteString(SkillScript);
      }
      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.WriteInt32(Id);
      }
      if (EET != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(EET);
      }
      tags_.WriteTo(ref output, _repeated_tags_codec);
      if (Visible != false) {
        output.WriteRawTag(32);
        output.WriteBool(Visible);
      }
      if (Available != false) {
        output.WriteRawTag(40);
        output.WriteBool(Available);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Image);
      }
      note_.WriteTo(ref output, _repeated_note_codec);
      if (DiscBg.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DiscBg);
      }
      if (Card.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Card);
      }
      if (GachaBg.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(GachaBg);
      }
      if (StrengthenGroupId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(StrengthenGroupId);
      }
      if (AttrBaseGroupId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AttrBaseGroupId);
      }
      if (PromoteGroupId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(PromoteGroupId);
      }
      if (TransformItemId != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(TransformItemId);
      }
      maxStarTransformItem_.WriteTo(ref output, _repeated_maxStarTransformItem_codec);
      if (PassiveSkillGroupId != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(PassiveSkillGroupId);
      }
      if (CommonSkillId1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(CommonSkillId1);
      }
      if (CommonSkillId2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(CommonSkillId2);
      }
      readReward_.WriteTo(ref output, _repeated_readReward_codec);
      if (VoFile.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(VoFile);
      }
      if (VoBegin1 != 0F) {
        output.WriteRawTag(173, 1);
        output.WriteFloat(VoBegin1);
      }
      if (VoLoop1 != 0F) {
        output.WriteRawTag(181, 1);
        output.WriteFloat(VoLoop1);
      }
      if (VoName1.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(VoName1);
      }
      if (VoBegin2 != 0F) {
        output.WriteRawTag(197, 1);
        output.WriteFloat(VoBegin2);
      }
      if (VoLoop2 != 0F) {
        output.WriteRawTag(205, 1);
        output.WriteFloat(VoLoop2);
      }
      if (VoName2.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(VoName2);
      }
      if (VoStory.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(VoStory);
      }
      if (StoryName.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(StoryName);
      }
      if (StoryDesc.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(StoryDesc);
      }
      if (CharId != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(CharId);
      }
      if (SkillScript.Length != 0) {
        output.WriteRawTag(250, 1);
        output.WriteString(SkillScript);
      }
      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.ComputeInt32Size(Id);
      }
      if (EET != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EET);
      }
      size += tags_.CalculateSize(_repeated_tags_codec);
      if (Visible != false) {
        size += 1 + 1;
      }
      if (Available != false) {
        size += 1 + 1;
      }
      if (Image.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Image);
      }
      size += note_.CalculateSize(_repeated_note_codec);
      if (DiscBg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DiscBg);
      }
      if (Card.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Card);
      }
      if (GachaBg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(GachaBg);
      }
      if (StrengthenGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StrengthenGroupId);
      }
      if (AttrBaseGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrBaseGroupId);
      }
      if (PromoteGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PromoteGroupId);
      }
      if (TransformItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TransformItemId);
      }
      size += maxStarTransformItem_.CalculateSize(_repeated_maxStarTransformItem_codec);
      if (PassiveSkillGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PassiveSkillGroupId);
      }
      if (CommonSkillId1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CommonSkillId1);
      }
      if (CommonSkillId2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CommonSkillId2);
      }
      size += readReward_.CalculateSize(_repeated_readReward_codec);
      if (VoFile.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(VoFile);
      }
      if (VoBegin1 != 0F) {
        size += 2 + 4;
      }
      if (VoLoop1 != 0F) {
        size += 2 + 4;
      }
      if (VoName1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(VoName1);
      }
      if (VoBegin2 != 0F) {
        size += 2 + 4;
      }
      if (VoLoop2 != 0F) {
        size += 2 + 4;
      }
      if (VoName2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(VoName2);
      }
      if (VoStory.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(VoStory);
      }
      if (StoryName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(StoryName);
      }
      if (StoryDesc.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(StoryDesc);
      }
      if (CharId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (SkillScript.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(SkillScript);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Disc other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.EET != 0) {
        EET = other.EET;
      }
      tags_.Add(other.tags_);
      if (other.Visible != false) {
        Visible = other.Visible;
      }
      if (other.Available != false) {
        Available = other.Available;
      }
      if (other.Image.Length != 0) {
        Image = other.Image;
      }
      note_.Add(other.note_);
      if (other.DiscBg.Length != 0) {
        DiscBg = other.DiscBg;
      }
      if (other.Card.Length != 0) {
        Card = other.Card;
      }
      if (other.GachaBg.Length != 0) {
        GachaBg = other.GachaBg;
      }
      if (other.StrengthenGroupId != 0) {
        StrengthenGroupId = other.StrengthenGroupId;
      }
      if (other.AttrBaseGroupId != 0) {
        AttrBaseGroupId = other.AttrBaseGroupId;
      }
      if (other.PromoteGroupId != 0) {
        PromoteGroupId = other.PromoteGroupId;
      }
      if (other.TransformItemId != 0) {
        TransformItemId = other.TransformItemId;
      }
      maxStarTransformItem_.Add(other.maxStarTransformItem_);
      if (other.PassiveSkillGroupId != 0) {
        PassiveSkillGroupId = other.PassiveSkillGroupId;
      }
      if (other.CommonSkillId1 != 0) {
        CommonSkillId1 = other.CommonSkillId1;
      }
      if (other.CommonSkillId2 != 0) {
        CommonSkillId2 = other.CommonSkillId2;
      }
      readReward_.Add(other.readReward_);
      if (other.VoFile.Length != 0) {
        VoFile = other.VoFile;
      }
      if (other.VoBegin1 != 0F) {
        VoBegin1 = other.VoBegin1;
      }
      if (other.VoLoop1 != 0F) {
        VoLoop1 = other.VoLoop1;
      }
      if (other.VoName1.Length != 0) {
        VoName1 = other.VoName1;
      }
      if (other.VoBegin2 != 0F) {
        VoBegin2 = other.VoBegin2;
      }
      if (other.VoLoop2 != 0F) {
        VoLoop2 = other.VoLoop2;
      }
      if (other.VoName2.Length != 0) {
        VoName2 = other.VoName2;
      }
      if (other.VoStory.Length != 0) {
        VoStory = other.VoStory;
      }
      if (other.StoryName.Length != 0) {
        StoryName = other.StoryName;
      }
      if (other.StoryDesc.Length != 0) {
        StoryDesc = other.StoryDesc;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.SkillScript.Length != 0) {
        SkillScript = other.SkillScript;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            EET = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            tags_.AddEntriesFrom(input, _repeated_tags_codec);
            break;
          }
          case 32: {
            Visible = input.ReadBool();
            break;
          }
          case 40: {
            Available = input.ReadBool();
            break;
          }
          case 50: {
            Image = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            note_.AddEntriesFrom(input, _repeated_note_codec);
            break;
          }
          case 66: {
            DiscBg = input.ReadString();
            break;
          }
          case 74: {
            Card = input.ReadString();
            break;
          }
          case 82: {
            GachaBg = input.ReadString();
            break;
          }
          case 88: {
            StrengthenGroupId = input.ReadInt32();
            break;
          }
          case 96: {
            AttrBaseGroupId = input.ReadInt32();
            break;
          }
          case 104: {
            PromoteGroupId = input.ReadInt32();
            break;
          }
          case 112: {
            TransformItemId = input.ReadInt32();
            break;
          }
          case 122:
          case 120: {
            maxStarTransformItem_.AddEntriesFrom(input, _repeated_maxStarTransformItem_codec);
            break;
          }
          case 128: {
            PassiveSkillGroupId = input.ReadInt32();
            break;
          }
          case 136: {
            CommonSkillId1 = input.ReadInt32();
            break;
          }
          case 144: {
            CommonSkillId2 = input.ReadInt32();
            break;
          }
          case 154:
          case 152: {
            readReward_.AddEntriesFrom(input, _repeated_readReward_codec);
            break;
          }
          case 162: {
            VoFile = input.ReadString();
            break;
          }
          case 173: {
            VoBegin1 = input.ReadFloat();
            break;
          }
          case 181: {
            VoLoop1 = input.ReadFloat();
            break;
          }
          case 186: {
            VoName1 = input.ReadString();
            break;
          }
          case 197: {
            VoBegin2 = input.ReadFloat();
            break;
          }
          case 205: {
            VoLoop2 = input.ReadFloat();
            break;
          }
          case 210: {
            VoName2 = input.ReadString();
            break;
          }
          case 218: {
            VoStory = input.ReadString();
            break;
          }
          case 226: {
            StoryName = input.ReadString();
            break;
          }
          case 234: {
            StoryDesc = input.ReadString();
            break;
          }
          case 240: {
            CharId = input.ReadInt32();
            break;
          }
          case 250: {
            SkillScript = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            EET = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            tags_.AddEntriesFrom(ref input, _repeated_tags_codec);
            break;
          }
          case 32: {
            Visible = input.ReadBool();
            break;
          }
          case 40: {
            Available = input.ReadBool();
            break;
          }
          case 50: {
            Image = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            note_.AddEntriesFrom(ref input, _repeated_note_codec);
            break;
          }
          case 66: {
            DiscBg = input.ReadString();
            break;
          }
          case 74: {
            Card = input.ReadString();
            break;
          }
          case 82: {
            GachaBg = input.ReadString();
            break;
          }
          case 88: {
            StrengthenGroupId = input.ReadInt32();
            break;
          }
          case 96: {
            AttrBaseGroupId = input.ReadInt32();
            break;
          }
          case 104: {
            PromoteGroupId = input.ReadInt32();
            break;
          }
          case 112: {
            TransformItemId = input.ReadInt32();
            break;
          }
          case 122:
          case 120: {
            maxStarTransformItem_.AddEntriesFrom(ref input, _repeated_maxStarTransformItem_codec);
            break;
          }
          case 128: {
            PassiveSkillGroupId = input.ReadInt32();
            break;
          }
          case 136: {
            CommonSkillId1 = input.ReadInt32();
            break;
          }
          case 144: {
            CommonSkillId2 = input.ReadInt32();
            break;
          }
          case 154:
          case 152: {
            readReward_.AddEntriesFrom(ref input, _repeated_readReward_codec);
            break;
          }
          case 162: {
            VoFile = input.ReadString();
            break;
          }
          case 173: {
            VoBegin1 = input.ReadFloat();
            break;
          }
          case 181: {
            VoLoop1 = input.ReadFloat();
            break;
          }
          case 186: {
            VoName1 = input.ReadString();
            break;
          }
          case 197: {
            VoBegin2 = input.ReadFloat();
            break;
          }
          case 205: {
            VoLoop2 = input.ReadFloat();
            break;
          }
          case 210: {
            VoName2 = input.ReadString();
            break;
          }
          case 218: {
            VoStory = input.ReadString();
            break;
          }
          case 226: {
            StoryName = input.ReadString();
            break;
          }
          case 234: {
            StoryDesc = input.ReadString();
            break;
          }
          case 240: {
            CharId = input.ReadInt32();
            break;
          }
          case 250: {
            SkillScript = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Disc : pb::IMessage<table_Disc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Disc> _parser = new pb::MessageParser<table_Disc>(() => new table_Disc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Disc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[125]; }
    }

    [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 table_Disc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Disc(table_Disc other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Disc Clone() {
      return new table_Disc(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Disc> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Disc.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Disc> list_ = new pbc::RepeatedField<global::Nova.Client.Disc>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Disc> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Disc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Disc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Disc other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DiscCommonSkill : pb::IMessage<DiscCommonSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DiscCommonSkill> _parser = new pb::MessageParser<DiscCommonSkill>(() => new DiscCommonSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DiscCommonSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[126]; }
    }

    [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 DiscCommonSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscCommonSkill(DiscCommonSkill other) : this() {
      id_ = other.id_;
      activeNoteType_ = other.activeNoteType_.Clone();
      activeNoteNum_ = other.activeNoteNum_.Clone();
      effectId1_ = other.effectId1_.Clone();
      effectId2_ = other.effectId2_.Clone();
      effectId3_ = other.effectId3_.Clone();
      effectId4_ = other.effectId4_.Clone();
      effectId5_ = other.effectId5_.Clone();
      effectId6_ = other.effectId6_.Clone();
      effectId7_ = other.effectId7_.Clone();
      effectId8_ = other.effectId8_.Clone();
      effectId9_ = other.effectId9_.Clone();
      effectId10_ = other.effectId10_.Clone();
      layerScore_ = other.layerScore_.Clone();
      name_ = other.name_;
      icon_ = other.icon_;
      iconBg_ = other.iconBg_;
      desc_ = other.desc_;
      param1_ = other.param1_.Clone();
      param2_ = other.param2_.Clone();
      param3_ = other.param3_.Clone();
      param4_ = other.param4_.Clone();
      param5_ = other.param5_.Clone();
      param6_ = other.param6_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscCommonSkill Clone() {
      return new DiscCommonSkill(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ActiveNoteType" field.</summary>
    public const int ActiveNoteTypeFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_activeNoteType_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> activeNoteType_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ActiveNoteType {
      get { return activeNoteType_; }
    }

    /// <summary>Field number for the "ActiveNoteNum" field.</summary>
    public const int ActiveNoteNumFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_activeNoteNum_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> activeNoteNum_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ActiveNoteNum {
      get { return activeNoteNum_; }
    }

    /// <summary>Field number for the "EffectId1" field.</summary>
    public const int EffectId1FieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_effectId1_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> effectId1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId1 {
      get { return effectId1_; }
    }

    /// <summary>Field number for the "EffectId2" field.</summary>
    public const int EffectId2FieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_effectId2_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> effectId2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId2 {
      get { return effectId2_; }
    }

    /// <summary>Field number for the "EffectId3" field.</summary>
    public const int EffectId3FieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_effectId3_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> effectId3_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId3 {
      get { return effectId3_; }
    }

    /// <summary>Field number for the "EffectId4" field.</summary>
    public const int EffectId4FieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_effectId4_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> effectId4_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId4 {
      get { return effectId4_; }
    }

    /// <summary>Field number for the "EffectId5" field.</summary>
    public const int EffectId5FieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_effectId5_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> effectId5_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId5 {
      get { return effectId5_; }
    }

    /// <summary>Field number for the "EffectId6" field.</summary>
    public const int EffectId6FieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_effectId6_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> effectId6_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId6 {
      get { return effectId6_; }
    }

    /// <summary>Field number for the "EffectId7" field.</summary>
    public const int EffectId7FieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_effectId7_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> effectId7_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId7 {
      get { return effectId7_; }
    }

    /// <summary>Field number for the "EffectId8" field.</summary>
    public const int EffectId8FieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_effectId8_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> effectId8_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId8 {
      get { return effectId8_; }
    }

    /// <summary>Field number for the "EffectId9" field.</summary>
    public const int EffectId9FieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_effectId9_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> effectId9_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId9 {
      get { return effectId9_; }
    }

    /// <summary>Field number for the "EffectId10" field.</summary>
    public const int EffectId10FieldNumber = 13;
    private static readonly pb::FieldCodec<int> _repeated_effectId10_codec
        = pb::FieldCodec.ForInt32(106);
    private readonly pbc::RepeatedField<int> effectId10_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId10 {
      get { return effectId10_; }
    }

    /// <summary>Field number for the "LayerScore" field.</summary>
    public const int LayerScoreFieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_layerScore_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> layerScore_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> LayerScore {
      get { return layerScore_; }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 15;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 16;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IconBg" field.</summary>
    public const int IconBgFieldNumber = 17;
    private string iconBg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IconBg {
      get { return iconBg_; }
      set {
        iconBg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 18;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 19;
    private static readonly pb::FieldCodec<string> _repeated_param1_codec
        = pb::FieldCodec.ForString(154);
    private readonly pbc::RepeatedField<string> param1_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Param1 {
      get { return param1_; }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 20;
    private static readonly pb::FieldCodec<string> _repeated_param2_codec
        = pb::FieldCodec.ForString(162);
    private readonly pbc::RepeatedField<string> param2_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Param2 {
      get { return param2_; }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 21;
    private static readonly pb::FieldCodec<string> _repeated_param3_codec
        = pb::FieldCodec.ForString(170);
    private readonly pbc::RepeatedField<string> param3_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Param3 {
      get { return param3_; }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 22;
    private static readonly pb::FieldCodec<string> _repeated_param4_codec
        = pb::FieldCodec.ForString(178);
    private readonly pbc::RepeatedField<string> param4_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Param4 {
      get { return param4_; }
    }

    /// <summary>Field number for the "Param5" field.</summary>
    public const int Param5FieldNumber = 23;
    private static readonly pb::FieldCodec<string> _repeated_param5_codec
        = pb::FieldCodec.ForString(186);
    private readonly pbc::RepeatedField<string> param5_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Param5 {
      get { return param5_; }
    }

    /// <summary>Field number for the "Param6" field.</summary>
    public const int Param6FieldNumber = 24;
    private static readonly pb::FieldCodec<string> _repeated_param6_codec
        = pb::FieldCodec.ForString(194);
    private readonly pbc::RepeatedField<string> param6_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> Param6 {
      get { return param6_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DiscCommonSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscCommonSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!activeNoteType_.Equals(other.activeNoteType_)) return false;
      if(!activeNoteNum_.Equals(other.activeNoteNum_)) return false;
      if(!effectId1_.Equals(other.effectId1_)) return false;
      if(!effectId2_.Equals(other.effectId2_)) return false;
      if(!effectId3_.Equals(other.effectId3_)) return false;
      if(!effectId4_.Equals(other.effectId4_)) return false;
      if(!effectId5_.Equals(other.effectId5_)) return false;
      if(!effectId6_.Equals(other.effectId6_)) return false;
      if(!effectId7_.Equals(other.effectId7_)) return false;
      if(!effectId8_.Equals(other.effectId8_)) return false;
      if(!effectId9_.Equals(other.effectId9_)) return false;
      if(!effectId10_.Equals(other.effectId10_)) return false;
      if(!layerScore_.Equals(other.layerScore_)) return false;
      if (Name != other.Name) return false;
      if (Icon != other.Icon) return false;
      if (IconBg != other.IconBg) return false;
      if (Desc != other.Desc) return false;
      if(!param1_.Equals(other.param1_)) return false;
      if(!param2_.Equals(other.param2_)) return false;
      if(!param3_.Equals(other.param3_)) return false;
      if(!param4_.Equals(other.param4_)) return false;
      if(!param5_.Equals(other.param5_)) return false;
      if(!param6_.Equals(other.param6_)) 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();
      hash ^= activeNoteType_.GetHashCode();
      hash ^= activeNoteNum_.GetHashCode();
      hash ^= effectId1_.GetHashCode();
      hash ^= effectId2_.GetHashCode();
      hash ^= effectId3_.GetHashCode();
      hash ^= effectId4_.GetHashCode();
      hash ^= effectId5_.GetHashCode();
      hash ^= effectId6_.GetHashCode();
      hash ^= effectId7_.GetHashCode();
      hash ^= effectId8_.GetHashCode();
      hash ^= effectId9_.GetHashCode();
      hash ^= effectId10_.GetHashCode();
      hash ^= layerScore_.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (IconBg.Length != 0) hash ^= IconBg.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      hash ^= param1_.GetHashCode();
      hash ^= param2_.GetHashCode();
      hash ^= param3_.GetHashCode();
      hash ^= param4_.GetHashCode();
      hash ^= param5_.GetHashCode();
      hash ^= param6_.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.WriteInt32(Id);
      }
      activeNoteType_.WriteTo(output, _repeated_activeNoteType_codec);
      activeNoteNum_.WriteTo(output, _repeated_activeNoteNum_codec);
      effectId1_.WriteTo(output, _repeated_effectId1_codec);
      effectId2_.WriteTo(output, _repeated_effectId2_codec);
      effectId3_.WriteTo(output, _repeated_effectId3_codec);
      effectId4_.WriteTo(output, _repeated_effectId4_codec);
      effectId5_.WriteTo(output, _repeated_effectId5_codec);
      effectId6_.WriteTo(output, _repeated_effectId6_codec);
      effectId7_.WriteTo(output, _repeated_effectId7_codec);
      effectId8_.WriteTo(output, _repeated_effectId8_codec);
      effectId9_.WriteTo(output, _repeated_effectId9_codec);
      effectId10_.WriteTo(output, _repeated_effectId10_codec);
      layerScore_.WriteTo(output, _repeated_layerScore_codec);
      if (Name.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(IconBg);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Desc);
      }
      param1_.WriteTo(output, _repeated_param1_codec);
      param2_.WriteTo(output, _repeated_param2_codec);
      param3_.WriteTo(output, _repeated_param3_codec);
      param4_.WriteTo(output, _repeated_param4_codec);
      param5_.WriteTo(output, _repeated_param5_codec);
      param6_.WriteTo(output, _repeated_param6_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      activeNoteType_.WriteTo(ref output, _repeated_activeNoteType_codec);
      activeNoteNum_.WriteTo(ref output, _repeated_activeNoteNum_codec);
      effectId1_.WriteTo(ref output, _repeated_effectId1_codec);
      effectId2_.WriteTo(ref output, _repeated_effectId2_codec);
      effectId3_.WriteTo(ref output, _repeated_effectId3_codec);
      effectId4_.WriteTo(ref output, _repeated_effectId4_codec);
      effectId5_.WriteTo(ref output, _repeated_effectId5_codec);
      effectId6_.WriteTo(ref output, _repeated_effectId6_codec);
      effectId7_.WriteTo(ref output, _repeated_effectId7_codec);
      effectId8_.WriteTo(ref output, _repeated_effectId8_codec);
      effectId9_.WriteTo(ref output, _repeated_effectId9_codec);
      effectId10_.WriteTo(ref output, _repeated_effectId10_codec);
      layerScore_.WriteTo(ref output, _repeated_layerScore_codec);
      if (Name.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(IconBg);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Desc);
      }
      param1_.WriteTo(ref output, _repeated_param1_codec);
      param2_.WriteTo(ref output, _repeated_param2_codec);
      param3_.WriteTo(ref output, _repeated_param3_codec);
      param4_.WriteTo(ref output, _repeated_param4_codec);
      param5_.WriteTo(ref output, _repeated_param5_codec);
      param6_.WriteTo(ref output, _repeated_param6_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      size += activeNoteType_.CalculateSize(_repeated_activeNoteType_codec);
      size += activeNoteNum_.CalculateSize(_repeated_activeNoteNum_codec);
      size += effectId1_.CalculateSize(_repeated_effectId1_codec);
      size += effectId2_.CalculateSize(_repeated_effectId2_codec);
      size += effectId3_.CalculateSize(_repeated_effectId3_codec);
      size += effectId4_.CalculateSize(_repeated_effectId4_codec);
      size += effectId5_.CalculateSize(_repeated_effectId5_codec);
      size += effectId6_.CalculateSize(_repeated_effectId6_codec);
      size += effectId7_.CalculateSize(_repeated_effectId7_codec);
      size += effectId8_.CalculateSize(_repeated_effectId8_codec);
      size += effectId9_.CalculateSize(_repeated_effectId9_codec);
      size += effectId10_.CalculateSize(_repeated_effectId10_codec);
      size += layerScore_.CalculateSize(_repeated_layerScore_codec);
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (IconBg.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(IconBg);
      }
      if (Desc.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      size += param1_.CalculateSize(_repeated_param1_codec);
      size += param2_.CalculateSize(_repeated_param2_codec);
      size += param3_.CalculateSize(_repeated_param3_codec);
      size += param4_.CalculateSize(_repeated_param4_codec);
      size += param5_.CalculateSize(_repeated_param5_codec);
      size += param6_.CalculateSize(_repeated_param6_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscCommonSkill other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      activeNoteType_.Add(other.activeNoteType_);
      activeNoteNum_.Add(other.activeNoteNum_);
      effectId1_.Add(other.effectId1_);
      effectId2_.Add(other.effectId2_);
      effectId3_.Add(other.effectId3_);
      effectId4_.Add(other.effectId4_);
      effectId5_.Add(other.effectId5_);
      effectId6_.Add(other.effectId6_);
      effectId7_.Add(other.effectId7_);
      effectId8_.Add(other.effectId8_);
      effectId9_.Add(other.effectId9_);
      effectId10_.Add(other.effectId10_);
      layerScore_.Add(other.layerScore_);
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.IconBg.Length != 0) {
        IconBg = other.IconBg;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      param1_.Add(other.param1_);
      param2_.Add(other.param2_);
      param3_.Add(other.param3_);
      param4_.Add(other.param4_);
      param5_.Add(other.param5_);
      param6_.Add(other.param6_);
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            activeNoteType_.AddEntriesFrom(input, _repeated_activeNoteType_codec);
            break;
          }
          case 26:
          case 24: {
            activeNoteNum_.AddEntriesFrom(input, _repeated_activeNoteNum_codec);
            break;
          }
          case 34:
          case 32: {
            effectId1_.AddEntriesFrom(input, _repeated_effectId1_codec);
            break;
          }
          case 42:
          case 40: {
            effectId2_.AddEntriesFrom(input, _repeated_effectId2_codec);
            break;
          }
          case 50:
          case 48: {
            effectId3_.AddEntriesFrom(input, _repeated_effectId3_codec);
            break;
          }
          case 58:
          case 56: {
            effectId4_.AddEntriesFrom(input, _repeated_effectId4_codec);
            break;
          }
          case 66:
          case 64: {
            effectId5_.AddEntriesFrom(input, _repeated_effectId5_codec);
            break;
          }
          case 74:
          case 72: {
            effectId6_.AddEntriesFrom(input, _repeated_effectId6_codec);
            break;
          }
          case 82:
          case 80: {
            effectId7_.AddEntriesFrom(input, _repeated_effectId7_codec);
            break;
          }
          case 90:
          case 88: {
            effectId8_.AddEntriesFrom(input, _repeated_effectId8_codec);
            break;
          }
          case 98:
          case 96: {
            effectId9_.AddEntriesFrom(input, _repeated_effectId9_codec);
            break;
          }
          case 106:
          case 104: {
            effectId10_.AddEntriesFrom(input, _repeated_effectId10_codec);
            break;
          }
          case 114:
          case 112: {
            layerScore_.AddEntriesFrom(input, _repeated_layerScore_codec);
            break;
          }
          case 122: {
            Name = input.ReadString();
            break;
          }
          case 130: {
            Icon = input.ReadString();
            break;
          }
          case 138: {
            IconBg = input.ReadString();
            break;
          }
          case 146: {
            Desc = input.ReadString();
            break;
          }
          case 154: {
            param1_.AddEntriesFrom(input, _repeated_param1_codec);
            break;
          }
          case 162: {
            param2_.AddEntriesFrom(input, _repeated_param2_codec);
            break;
          }
          case 170: {
            param3_.AddEntriesFrom(input, _repeated_param3_codec);
            break;
          }
          case 178: {
            param4_.AddEntriesFrom(input, _repeated_param4_codec);
            break;
          }
          case 186: {
            param5_.AddEntriesFrom(input, _repeated_param5_codec);
            break;
          }
          case 194: {
            param6_.AddEntriesFrom(input, _repeated_param6_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            activeNoteType_.AddEntriesFrom(ref input, _repeated_activeNoteType_codec);
            break;
          }
          case 26:
          case 24: {
            activeNoteNum_.AddEntriesFrom(ref input, _repeated_activeNoteNum_codec);
            break;
          }
          case 34:
          case 32: {
            effectId1_.AddEntriesFrom(ref input, _repeated_effectId1_codec);
            break;
          }
          case 42:
          case 40: {
            effectId2_.AddEntriesFrom(ref input, _repeated_effectId2_codec);
            break;
          }
          case 50:
          case 48: {
            effectId3_.AddEntriesFrom(ref input, _repeated_effectId3_codec);
            break;
          }
          case 58:
          case 56: {
            effectId4_.AddEntriesFrom(ref input, _repeated_effectId4_codec);
            break;
          }
          case 66:
          case 64: {
            effectId5_.AddEntriesFrom(ref input, _repeated_effectId5_codec);
            break;
          }
          case 74:
          case 72: {
            effectId6_.AddEntriesFrom(ref input, _repeated_effectId6_codec);
            break;
          }
          case 82:
          case 80: {
            effectId7_.AddEntriesFrom(ref input, _repeated_effectId7_codec);
            break;
          }
          case 90:
          case 88: {
            effectId8_.AddEntriesFrom(ref input, _repeated_effectId8_codec);
            break;
          }
          case 98:
          case 96: {
            effectId9_.AddEntriesFrom(ref input, _repeated_effectId9_codec);
            break;
          }
          case 106:
          case 104: {
            effectId10_.AddEntriesFrom(ref input, _repeated_effectId10_codec);
            break;
          }
          case 114:
          case 112: {
            layerScore_.AddEntriesFrom(ref input, _repeated_layerScore_codec);
            break;
          }
          case 122: {
            Name = input.ReadString();
            break;
          }
          case 130: {
            Icon = input.ReadString();
            break;
          }
          case 138: {
            IconBg = input.ReadString();
            break;
          }
          case 146: {
            Desc = input.ReadString();
            break;
          }
          case 154: {
            param1_.AddEntriesFrom(ref input, _repeated_param1_codec);
            break;
          }
          case 162: {
            param2_.AddEntriesFrom(ref input, _repeated_param2_codec);
            break;
          }
          case 170: {
            param3_.AddEntriesFrom(ref input, _repeated_param3_codec);
            break;
          }
          case 178: {
            param4_.AddEntriesFrom(ref input, _repeated_param4_codec);
            break;
          }
          case 186: {
            param5_.AddEntriesFrom(ref input, _repeated_param5_codec);
            break;
          }
          case 194: {
            param6_.AddEntriesFrom(ref input, _repeated_param6_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DiscCommonSkill : pb::IMessage<table_DiscCommonSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DiscCommonSkill> _parser = new pb::MessageParser<table_DiscCommonSkill>(() => new table_DiscCommonSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DiscCommonSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[127]; }
    }

    [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 table_DiscCommonSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscCommonSkill(table_DiscCommonSkill other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscCommonSkill Clone() {
      return new table_DiscCommonSkill(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DiscCommonSkill> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DiscCommonSkill.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DiscCommonSkill> list_ = new pbc::RepeatedField<global::Nova.Client.DiscCommonSkill>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DiscCommonSkill> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DiscCommonSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DiscCommonSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DiscCommonSkill other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DiscItemExp : pb::IMessage<DiscItemExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DiscItemExp> _parser = new pb::MessageParser<DiscItemExp>(() => new DiscItemExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DiscItemExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[128]; }
    }

    [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 DiscItemExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscItemExp(DiscItemExp other) : this() {
      id_ = other.id_;
      itemId_ = other.itemId_;
      exp_ = other.exp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscItemExp Clone() {
      return new DiscItemExp(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 2;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "Exp" field.</summary>
    public const int ExpFieldNumber = 3;
    private int exp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Exp {
      get { return exp_; }
      set {
        exp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DiscItemExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscItemExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ItemId != other.ItemId) return false;
      if (Exp != other.Exp) 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 (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (Exp != 0) hash ^= Exp.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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (Exp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Exp);
      }
      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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (Exp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Exp);
      }
      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.ComputeInt32Size(Id);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscItemExp other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DiscItemExp : pb::IMessage<table_DiscItemExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DiscItemExp> _parser = new pb::MessageParser<table_DiscItemExp>(() => new table_DiscItemExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DiscItemExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[129]; }
    }

    [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 table_DiscItemExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscItemExp(table_DiscItemExp other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscItemExp Clone() {
      return new table_DiscItemExp(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DiscItemExp> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DiscItemExp.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DiscItemExp> list_ = new pbc::RepeatedField<global::Nova.Client.DiscItemExp>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DiscItemExp> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DiscItemExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DiscItemExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DiscItemExp other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DiscPassiveSkill : pb::IMessage<DiscPassiveSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DiscPassiveSkill> _parser = new pb::MessageParser<DiscPassiveSkill>(() => new DiscPassiveSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DiscPassiveSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[130]; }
    }

    [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 DiscPassiveSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscPassiveSkill(DiscPassiveSkill other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      level_ = other.level_;
      break_ = other.break_;
      mainNote_ = other.mainNote_;
      activeParam1_ = other.activeParam1_;
      effectId1_ = other.effectId1_.Clone();
      activeParam2_ = other.activeParam2_;
      effectId2_ = other.effectId2_.Clone();
      activeParam3_ = other.activeParam3_;
      effectId3_ = other.effectId3_.Clone();
      activeParam4_ = other.activeParam4_;
      effectId4_ = other.effectId4_.Clone();
      activeParam5_ = other.activeParam5_;
      effectId5_ = other.effectId5_.Clone();
      layerScore_ = other.layerScore_.Clone();
      name_ = other.name_;
      icon_ = other.icon_;
      iconBg_ = other.iconBg_;
      desc1_ = other.desc1_;
      desc2_ = other.desc2_;
      desc3_ = other.desc3_;
      desc4_ = other.desc4_;
      desc5_ = other.desc5_;
      param1_ = other.param1_;
      param2_ = other.param2_;
      param3_ = other.param3_;
      param4_ = other.param4_;
      param5_ = other.param5_;
      param6_ = other.param6_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscPassiveSkill Clone() {
      return new DiscPassiveSkill(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 3;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "Break" field.</summary>
    public const int BreakFieldNumber = 4;
    private int break_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Break {
      get { return break_; }
      set {
        break_ = value;
      }
    }

    /// <summary>Field number for the "MainNote" field.</summary>
    public const int MainNoteFieldNumber = 5;
    private int mainNote_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainNote {
      get { return mainNote_; }
      set {
        mainNote_ = value;
      }
    }

    /// <summary>Field number for the "ActiveParam1" field.</summary>
    public const int ActiveParam1FieldNumber = 6;
    private string activeParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveParam1 {
      get { return activeParam1_; }
      set {
        activeParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectId1" field.</summary>
    public const int EffectId1FieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_effectId1_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> effectId1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId1 {
      get { return effectId1_; }
    }

    /// <summary>Field number for the "ActiveParam2" field.</summary>
    public const int ActiveParam2FieldNumber = 8;
    private string activeParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveParam2 {
      get { return activeParam2_; }
      set {
        activeParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectId2" field.</summary>
    public const int EffectId2FieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_effectId2_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> effectId2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId2 {
      get { return effectId2_; }
    }

    /// <summary>Field number for the "ActiveParam3" field.</summary>
    public const int ActiveParam3FieldNumber = 10;
    private string activeParam3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveParam3 {
      get { return activeParam3_; }
      set {
        activeParam3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectId3" field.</summary>
    public const int EffectId3FieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_effectId3_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> effectId3_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId3 {
      get { return effectId3_; }
    }

    /// <summary>Field number for the "ActiveParam4" field.</summary>
    public const int ActiveParam4FieldNumber = 12;
    private string activeParam4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveParam4 {
      get { return activeParam4_; }
      set {
        activeParam4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectId4" field.</summary>
    public const int EffectId4FieldNumber = 13;
    private static readonly pb::FieldCodec<int> _repeated_effectId4_codec
        = pb::FieldCodec.ForInt32(106);
    private readonly pbc::RepeatedField<int> effectId4_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId4 {
      get { return effectId4_; }
    }

    /// <summary>Field number for the "ActiveParam5" field.</summary>
    public const int ActiveParam5FieldNumber = 14;
    private string activeParam5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveParam5 {
      get { return activeParam5_; }
      set {
        activeParam5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectId5" field.</summary>
    public const int EffectId5FieldNumber = 15;
    private static readonly pb::FieldCodec<int> _repeated_effectId5_codec
        = pb::FieldCodec.ForInt32(122);
    private readonly pbc::RepeatedField<int> effectId5_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId5 {
      get { return effectId5_; }
    }

    /// <summary>Field number for the "LayerScore" field.</summary>
    public const int LayerScoreFieldNumber = 16;
    private static readonly pb::FieldCodec<int> _repeated_layerScore_codec
        = pb::FieldCodec.ForInt32(130);
    private readonly pbc::RepeatedField<int> layerScore_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> LayerScore {
      get { return layerScore_; }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 17;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 18;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IconBg" field.</summary>
    public const int IconBgFieldNumber = 19;
    private string iconBg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IconBg {
      get { return iconBg_; }
      set {
        iconBg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc1" field.</summary>
    public const int Desc1FieldNumber = 20;
    private string desc1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc1 {
      get { return desc1_; }
      set {
        desc1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc2" field.</summary>
    public const int Desc2FieldNumber = 21;
    private string desc2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc2 {
      get { return desc2_; }
      set {
        desc2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc3" field.</summary>
    public const int Desc3FieldNumber = 22;
    private string desc3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc3 {
      get { return desc3_; }
      set {
        desc3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc4" field.</summary>
    public const int Desc4FieldNumber = 23;
    private string desc4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc4 {
      get { return desc4_; }
      set {
        desc4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc5" field.</summary>
    public const int Desc5FieldNumber = 24;
    private string desc5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc5 {
      get { return desc5_; }
      set {
        desc5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 25;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 26;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 27;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 28;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param5" field.</summary>
    public const int Param5FieldNumber = 29;
    private string param5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param5 {
      get { return param5_; }
      set {
        param5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param6" field.</summary>
    public const int Param6FieldNumber = 30;
    private string param6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param6 {
      get { return param6_; }
      set {
        param6_ = 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 DiscPassiveSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscPassiveSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Level != other.Level) return false;
      if (Break != other.Break) return false;
      if (MainNote != other.MainNote) return false;
      if (ActiveParam1 != other.ActiveParam1) return false;
      if(!effectId1_.Equals(other.effectId1_)) return false;
      if (ActiveParam2 != other.ActiveParam2) return false;
      if(!effectId2_.Equals(other.effectId2_)) return false;
      if (ActiveParam3 != other.ActiveParam3) return false;
      if(!effectId3_.Equals(other.effectId3_)) return false;
      if (ActiveParam4 != other.ActiveParam4) return false;
      if(!effectId4_.Equals(other.effectId4_)) return false;
      if (ActiveParam5 != other.ActiveParam5) return false;
      if(!effectId5_.Equals(other.effectId5_)) return false;
      if(!layerScore_.Equals(other.layerScore_)) return false;
      if (Name != other.Name) return false;
      if (Icon != other.Icon) return false;
      if (IconBg != other.IconBg) return false;
      if (Desc1 != other.Desc1) return false;
      if (Desc2 != other.Desc2) return false;
      if (Desc3 != other.Desc3) return false;
      if (Desc4 != other.Desc4) return false;
      if (Desc5 != other.Desc5) return false;
      if (Param1 != other.Param1) return false;
      if (Param2 != other.Param2) return false;
      if (Param3 != other.Param3) return false;
      if (Param4 != other.Param4) return false;
      if (Param5 != other.Param5) return false;
      if (Param6 != other.Param6) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (Break != 0) hash ^= Break.GetHashCode();
      if (MainNote != 0) hash ^= MainNote.GetHashCode();
      if (ActiveParam1.Length != 0) hash ^= ActiveParam1.GetHashCode();
      hash ^= effectId1_.GetHashCode();
      if (ActiveParam2.Length != 0) hash ^= ActiveParam2.GetHashCode();
      hash ^= effectId2_.GetHashCode();
      if (ActiveParam3.Length != 0) hash ^= ActiveParam3.GetHashCode();
      hash ^= effectId3_.GetHashCode();
      if (ActiveParam4.Length != 0) hash ^= ActiveParam4.GetHashCode();
      hash ^= effectId4_.GetHashCode();
      if (ActiveParam5.Length != 0) hash ^= ActiveParam5.GetHashCode();
      hash ^= effectId5_.GetHashCode();
      hash ^= layerScore_.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (IconBg.Length != 0) hash ^= IconBg.GetHashCode();
      if (Desc1.Length != 0) hash ^= Desc1.GetHashCode();
      if (Desc2.Length != 0) hash ^= Desc2.GetHashCode();
      if (Desc3.Length != 0) hash ^= Desc3.GetHashCode();
      if (Desc4.Length != 0) hash ^= Desc4.GetHashCode();
      if (Desc5.Length != 0) hash ^= Desc5.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.GetHashCode();
      if (Param5.Length != 0) hash ^= Param5.GetHashCode();
      if (Param6.Length != 0) hash ^= Param6.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (Break != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Break);
      }
      if (MainNote != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainNote);
      }
      if (ActiveParam1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ActiveParam1);
      }
      effectId1_.WriteTo(output, _repeated_effectId1_codec);
      if (ActiveParam2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ActiveParam2);
      }
      effectId2_.WriteTo(output, _repeated_effectId2_codec);
      if (ActiveParam3.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ActiveParam3);
      }
      effectId3_.WriteTo(output, _repeated_effectId3_codec);
      if (ActiveParam4.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(ActiveParam4);
      }
      effectId4_.WriteTo(output, _repeated_effectId4_codec);
      if (ActiveParam5.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(ActiveParam5);
      }
      effectId5_.WriteTo(output, _repeated_effectId5_codec);
      layerScore_.WriteTo(output, _repeated_layerScore_codec);
      if (Name.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(IconBg);
      }
      if (Desc1.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Desc1);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Desc2);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Desc3);
      }
      if (Desc4.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Desc4);
      }
      if (Desc5.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Desc5);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(Param6);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (Break != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Break);
      }
      if (MainNote != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainNote);
      }
      if (ActiveParam1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ActiveParam1);
      }
      effectId1_.WriteTo(ref output, _repeated_effectId1_codec);
      if (ActiveParam2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ActiveParam2);
      }
      effectId2_.WriteTo(ref output, _repeated_effectId2_codec);
      if (ActiveParam3.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ActiveParam3);
      }
      effectId3_.WriteTo(ref output, _repeated_effectId3_codec);
      if (ActiveParam4.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(ActiveParam4);
      }
      effectId4_.WriteTo(ref output, _repeated_effectId4_codec);
      if (ActiveParam5.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(ActiveParam5);
      }
      effectId5_.WriteTo(ref output, _repeated_effectId5_codec);
      layerScore_.WriteTo(ref output, _repeated_layerScore_codec);
      if (Name.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(IconBg);
      }
      if (Desc1.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Desc1);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Desc2);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Desc3);
      }
      if (Desc4.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Desc4);
      }
      if (Desc5.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Desc5);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(Param6);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Break != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Break);
      }
      if (MainNote != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainNote);
      }
      if (ActiveParam1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ActiveParam1);
      }
      size += effectId1_.CalculateSize(_repeated_effectId1_codec);
      if (ActiveParam2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ActiveParam2);
      }
      size += effectId2_.CalculateSize(_repeated_effectId2_codec);
      if (ActiveParam3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ActiveParam3);
      }
      size += effectId3_.CalculateSize(_repeated_effectId3_codec);
      if (ActiveParam4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ActiveParam4);
      }
      size += effectId4_.CalculateSize(_repeated_effectId4_codec);
      if (ActiveParam5.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ActiveParam5);
      }
      size += effectId5_.CalculateSize(_repeated_effectId5_codec);
      size += layerScore_.CalculateSize(_repeated_layerScore_codec);
      if (Name.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (IconBg.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(IconBg);
      }
      if (Desc1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc1);
      }
      if (Desc2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc2);
      }
      if (Desc3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc3);
      }
      if (Desc4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc4);
      }
      if (Desc5.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc5);
      }
      if (Param1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Param2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Param3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (Param5.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param5);
      }
      if (Param6.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param6);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscPassiveSkill other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Break != 0) {
        Break = other.Break;
      }
      if (other.MainNote != 0) {
        MainNote = other.MainNote;
      }
      if (other.ActiveParam1.Length != 0) {
        ActiveParam1 = other.ActiveParam1;
      }
      effectId1_.Add(other.effectId1_);
      if (other.ActiveParam2.Length != 0) {
        ActiveParam2 = other.ActiveParam2;
      }
      effectId2_.Add(other.effectId2_);
      if (other.ActiveParam3.Length != 0) {
        ActiveParam3 = other.ActiveParam3;
      }
      effectId3_.Add(other.effectId3_);
      if (other.ActiveParam4.Length != 0) {
        ActiveParam4 = other.ActiveParam4;
      }
      effectId4_.Add(other.effectId4_);
      if (other.ActiveParam5.Length != 0) {
        ActiveParam5 = other.ActiveParam5;
      }
      effectId5_.Add(other.effectId5_);
      layerScore_.Add(other.layerScore_);
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.IconBg.Length != 0) {
        IconBg = other.IconBg;
      }
      if (other.Desc1.Length != 0) {
        Desc1 = other.Desc1;
      }
      if (other.Desc2.Length != 0) {
        Desc2 = other.Desc2;
      }
      if (other.Desc3.Length != 0) {
        Desc3 = other.Desc3;
      }
      if (other.Desc4.Length != 0) {
        Desc4 = other.Desc4;
      }
      if (other.Desc5.Length != 0) {
        Desc5 = other.Desc5;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      if (other.Param5.Length != 0) {
        Param5 = other.Param5;
      }
      if (other.Param6.Length != 0) {
        Param6 = other.Param6;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            Break = input.ReadInt32();
            break;
          }
          case 40: {
            MainNote = input.ReadInt32();
            break;
          }
          case 50: {
            ActiveParam1 = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            effectId1_.AddEntriesFrom(input, _repeated_effectId1_codec);
            break;
          }
          case 66: {
            ActiveParam2 = input.ReadString();
            break;
          }
          case 74:
          case 72: {
            effectId2_.AddEntriesFrom(input, _repeated_effectId2_codec);
            break;
          }
          case 82: {
            ActiveParam3 = input.ReadString();
            break;
          }
          case 90:
          case 88: {
            effectId3_.AddEntriesFrom(input, _repeated_effectId3_codec);
            break;
          }
          case 98: {
            ActiveParam4 = input.ReadString();
            break;
          }
          case 106:
          case 104: {
            effectId4_.AddEntriesFrom(input, _repeated_effectId4_codec);
            break;
          }
          case 114: {
            ActiveParam5 = input.ReadString();
            break;
          }
          case 122:
          case 120: {
            effectId5_.AddEntriesFrom(input, _repeated_effectId5_codec);
            break;
          }
          case 130:
          case 128: {
            layerScore_.AddEntriesFrom(input, _repeated_layerScore_codec);
            break;
          }
          case 138: {
            Name = input.ReadString();
            break;
          }
          case 146: {
            Icon = input.ReadString();
            break;
          }
          case 154: {
            IconBg = input.ReadString();
            break;
          }
          case 162: {
            Desc1 = input.ReadString();
            break;
          }
          case 170: {
            Desc2 = input.ReadString();
            break;
          }
          case 178: {
            Desc3 = input.ReadString();
            break;
          }
          case 186: {
            Desc4 = input.ReadString();
            break;
          }
          case 194: {
            Desc5 = input.ReadString();
            break;
          }
          case 202: {
            Param1 = input.ReadString();
            break;
          }
          case 210: {
            Param2 = input.ReadString();
            break;
          }
          case 218: {
            Param3 = input.ReadString();
            break;
          }
          case 226: {
            Param4 = input.ReadString();
            break;
          }
          case 234: {
            Param5 = input.ReadString();
            break;
          }
          case 242: {
            Param6 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            Break = input.ReadInt32();
            break;
          }
          case 40: {
            MainNote = input.ReadInt32();
            break;
          }
          case 50: {
            ActiveParam1 = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            effectId1_.AddEntriesFrom(ref input, _repeated_effectId1_codec);
            break;
          }
          case 66: {
            ActiveParam2 = input.ReadString();
            break;
          }
          case 74:
          case 72: {
            effectId2_.AddEntriesFrom(ref input, _repeated_effectId2_codec);
            break;
          }
          case 82: {
            ActiveParam3 = input.ReadString();
            break;
          }
          case 90:
          case 88: {
            effectId3_.AddEntriesFrom(ref input, _repeated_effectId3_codec);
            break;
          }
          case 98: {
            ActiveParam4 = input.ReadString();
            break;
          }
          case 106:
          case 104: {
            effectId4_.AddEntriesFrom(ref input, _repeated_effectId4_codec);
            break;
          }
          case 114: {
            ActiveParam5 = input.ReadString();
            break;
          }
          case 122:
          case 120: {
            effectId5_.AddEntriesFrom(ref input, _repeated_effectId5_codec);
            break;
          }
          case 130:
          case 128: {
            layerScore_.AddEntriesFrom(ref input, _repeated_layerScore_codec);
            break;
          }
          case 138: {
            Name = input.ReadString();
            break;
          }
          case 146: {
            Icon = input.ReadString();
            break;
          }
          case 154: {
            IconBg = input.ReadString();
            break;
          }
          case 162: {
            Desc1 = input.ReadString();
            break;
          }
          case 170: {
            Desc2 = input.ReadString();
            break;
          }
          case 178: {
            Desc3 = input.ReadString();
            break;
          }
          case 186: {
            Desc4 = input.ReadString();
            break;
          }
          case 194: {
            Desc5 = input.ReadString();
            break;
          }
          case 202: {
            Param1 = input.ReadString();
            break;
          }
          case 210: {
            Param2 = input.ReadString();
            break;
          }
          case 218: {
            Param3 = input.ReadString();
            break;
          }
          case 226: {
            Param4 = input.ReadString();
            break;
          }
          case 234: {
            Param5 = input.ReadString();
            break;
          }
          case 242: {
            Param6 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DiscPassiveSkill : pb::IMessage<table_DiscPassiveSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DiscPassiveSkill> _parser = new pb::MessageParser<table_DiscPassiveSkill>(() => new table_DiscPassiveSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DiscPassiveSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[131]; }
    }

    [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 table_DiscPassiveSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscPassiveSkill(table_DiscPassiveSkill other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscPassiveSkill Clone() {
      return new table_DiscPassiveSkill(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DiscPassiveSkill> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DiscPassiveSkill.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DiscPassiveSkill> list_ = new pbc::RepeatedField<global::Nova.Client.DiscPassiveSkill>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DiscPassiveSkill> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DiscPassiveSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DiscPassiveSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DiscPassiveSkill other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DiscPromote : pb::IMessage<DiscPromote>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DiscPromote> _parser = new pb::MessageParser<DiscPromote>(() => new DiscPromote());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DiscPromote> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[132]; }
    }

    [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 DiscPromote() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscPromote(DiscPromote other) : this() {
      id_ = other.id_;
      itemId1_ = other.itemId1_;
      num1_ = other.num1_;
      itemId2_ = other.itemId2_;
      num2_ = other.num2_;
      itemId3_ = other.itemId3_;
      num3_ = other.num3_;
      itemId4_ = other.itemId4_;
      num4_ = other.num4_;
      expenseGold_ = other.expenseGold_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscPromote Clone() {
      return new DiscPromote(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ItemId1" field.</summary>
    public const int ItemId1FieldNumber = 2;
    private int itemId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId1 {
      get { return itemId1_; }
      set {
        itemId1_ = value;
      }
    }

    /// <summary>Field number for the "Num1" field.</summary>
    public const int Num1FieldNumber = 3;
    private int num1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Num1 {
      get { return num1_; }
      set {
        num1_ = value;
      }
    }

    /// <summary>Field number for the "ItemId2" field.</summary>
    public const int ItemId2FieldNumber = 4;
    private int itemId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId2 {
      get { return itemId2_; }
      set {
        itemId2_ = value;
      }
    }

    /// <summary>Field number for the "Num2" field.</summary>
    public const int Num2FieldNumber = 5;
    private int num2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Num2 {
      get { return num2_; }
      set {
        num2_ = value;
      }
    }

    /// <summary>Field number for the "ItemId3" field.</summary>
    public const int ItemId3FieldNumber = 6;
    private int itemId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId3 {
      get { return itemId3_; }
      set {
        itemId3_ = value;
      }
    }

    /// <summary>Field number for the "Num3" field.</summary>
    public const int Num3FieldNumber = 7;
    private int num3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Num3 {
      get { return num3_; }
      set {
        num3_ = value;
      }
    }

    /// <summary>Field number for the "ItemId4" field.</summary>
    public const int ItemId4FieldNumber = 8;
    private int itemId4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId4 {
      get { return itemId4_; }
      set {
        itemId4_ = value;
      }
    }

    /// <summary>Field number for the "Num4" field.</summary>
    public const int Num4FieldNumber = 9;
    private int num4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Num4 {
      get { return num4_; }
      set {
        num4_ = value;
      }
    }

    /// <summary>Field number for the "ExpenseGold" field.</summary>
    public const int ExpenseGoldFieldNumber = 10;
    private int expenseGold_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExpenseGold {
      get { return expenseGold_; }
      set {
        expenseGold_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DiscPromote);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscPromote other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ItemId1 != other.ItemId1) return false;
      if (Num1 != other.Num1) return false;
      if (ItemId2 != other.ItemId2) return false;
      if (Num2 != other.Num2) return false;
      if (ItemId3 != other.ItemId3) return false;
      if (Num3 != other.Num3) return false;
      if (ItemId4 != other.ItemId4) return false;
      if (Num4 != other.Num4) return false;
      if (ExpenseGold != other.ExpenseGold) 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 (ItemId1 != 0) hash ^= ItemId1.GetHashCode();
      if (Num1 != 0) hash ^= Num1.GetHashCode();
      if (ItemId2 != 0) hash ^= ItemId2.GetHashCode();
      if (Num2 != 0) hash ^= Num2.GetHashCode();
      if (ItemId3 != 0) hash ^= ItemId3.GetHashCode();
      if (Num3 != 0) hash ^= Num3.GetHashCode();
      if (ItemId4 != 0) hash ^= ItemId4.GetHashCode();
      if (Num4 != 0) hash ^= Num4.GetHashCode();
      if (ExpenseGold != 0) hash ^= ExpenseGold.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.WriteInt32(Id);
      }
      if (ItemId1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId1);
      }
      if (Num1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Num1);
      }
      if (ItemId2 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ItemId2);
      }
      if (Num2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Num2);
      }
      if (ItemId3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ItemId3);
      }
      if (Num3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Num3);
      }
      if (ItemId4 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ItemId4);
      }
      if (Num4 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Num4);
      }
      if (ExpenseGold != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ExpenseGold);
      }
      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.WriteInt32(Id);
      }
      if (ItemId1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId1);
      }
      if (Num1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Num1);
      }
      if (ItemId2 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ItemId2);
      }
      if (Num2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Num2);
      }
      if (ItemId3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ItemId3);
      }
      if (Num3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Num3);
      }
      if (ItemId4 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ItemId4);
      }
      if (Num4 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Num4);
      }
      if (ExpenseGold != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ExpenseGold);
      }
      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.ComputeInt32Size(Id);
      }
      if (ItemId1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId1);
      }
      if (Num1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num1);
      }
      if (ItemId2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId2);
      }
      if (Num2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num2);
      }
      if (ItemId3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId3);
      }
      if (Num3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num3);
      }
      if (ItemId4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId4);
      }
      if (Num4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num4);
      }
      if (ExpenseGold != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExpenseGold);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscPromote other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ItemId1 != 0) {
        ItemId1 = other.ItemId1;
      }
      if (other.Num1 != 0) {
        Num1 = other.Num1;
      }
      if (other.ItemId2 != 0) {
        ItemId2 = other.ItemId2;
      }
      if (other.Num2 != 0) {
        Num2 = other.Num2;
      }
      if (other.ItemId3 != 0) {
        ItemId3 = other.ItemId3;
      }
      if (other.Num3 != 0) {
        Num3 = other.Num3;
      }
      if (other.ItemId4 != 0) {
        ItemId4 = other.ItemId4;
      }
      if (other.Num4 != 0) {
        Num4 = other.Num4;
      }
      if (other.ExpenseGold != 0) {
        ExpenseGold = other.ExpenseGold;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ItemId1 = input.ReadInt32();
            break;
          }
          case 24: {
            Num1 = input.ReadInt32();
            break;
          }
          case 32: {
            ItemId2 = input.ReadInt32();
            break;
          }
          case 40: {
            Num2 = input.ReadInt32();
            break;
          }
          case 48: {
            ItemId3 = input.ReadInt32();
            break;
          }
          case 56: {
            Num3 = input.ReadInt32();
            break;
          }
          case 64: {
            ItemId4 = input.ReadInt32();
            break;
          }
          case 72: {
            Num4 = input.ReadInt32();
            break;
          }
          case 80: {
            ExpenseGold = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId1 = input.ReadInt32();
            break;
          }
          case 24: {
            Num1 = input.ReadInt32();
            break;
          }
          case 32: {
            ItemId2 = input.ReadInt32();
            break;
          }
          case 40: {
            Num2 = input.ReadInt32();
            break;
          }
          case 48: {
            ItemId3 = input.ReadInt32();
            break;
          }
          case 56: {
            Num3 = input.ReadInt32();
            break;
          }
          case 64: {
            ItemId4 = input.ReadInt32();
            break;
          }
          case 72: {
            Num4 = input.ReadInt32();
            break;
          }
          case 80: {
            ExpenseGold = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DiscPromote : pb::IMessage<table_DiscPromote>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DiscPromote> _parser = new pb::MessageParser<table_DiscPromote>(() => new table_DiscPromote());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DiscPromote> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[133]; }
    }

    [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 table_DiscPromote() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscPromote(table_DiscPromote other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscPromote Clone() {
      return new table_DiscPromote(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DiscPromote> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DiscPromote.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DiscPromote> list_ = new pbc::RepeatedField<global::Nova.Client.DiscPromote>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DiscPromote> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DiscPromote);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DiscPromote other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DiscPromote other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DiscPromoteLimit : pb::IMessage<DiscPromoteLimit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DiscPromoteLimit> _parser = new pb::MessageParser<DiscPromoteLimit>(() => new DiscPromoteLimit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DiscPromoteLimit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[134]; }
    }

    [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 DiscPromoteLimit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscPromoteLimit(DiscPromoteLimit other) : this() {
      id_ = other.id_;
      rarity_ = other.rarity_;
      phase_ = other.phase_;
      maxLevel_ = other.maxLevel_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscPromoteLimit Clone() {
      return new DiscPromoteLimit(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Rarity" field.</summary>
    public const int RarityFieldNumber = 2;
    private int rarity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rarity {
      get { return rarity_; }
      set {
        rarity_ = value;
      }
    }

    /// <summary>Field number for the "Phase" field.</summary>
    public const int PhaseFieldNumber = 3;
    private string phase_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Phase {
      get { return phase_; }
      set {
        phase_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MaxLevel" field.</summary>
    public const int MaxLevelFieldNumber = 4;
    private string maxLevel_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MaxLevel {
      get { return maxLevel_; }
      set {
        maxLevel_ = 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 DiscPromoteLimit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscPromoteLimit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Rarity != other.Rarity) return false;
      if (Phase != other.Phase) return false;
      if (MaxLevel != other.MaxLevel) 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 (Rarity != 0) hash ^= Rarity.GetHashCode();
      if (Phase.Length != 0) hash ^= Phase.GetHashCode();
      if (MaxLevel.Length != 0) hash ^= MaxLevel.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.WriteInt32(Id);
      }
      if (Rarity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Rarity);
      }
      if (Phase.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Phase);
      }
      if (MaxLevel.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(MaxLevel);
      }
      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.WriteInt32(Id);
      }
      if (Rarity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Rarity);
      }
      if (Phase.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Phase);
      }
      if (MaxLevel.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(MaxLevel);
      }
      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.ComputeInt32Size(Id);
      }
      if (Rarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rarity);
      }
      if (Phase.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Phase);
      }
      if (MaxLevel.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MaxLevel);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscPromoteLimit other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Rarity != 0) {
        Rarity = other.Rarity;
      }
      if (other.Phase.Length != 0) {
        Phase = other.Phase;
      }
      if (other.MaxLevel.Length != 0) {
        MaxLevel = other.MaxLevel;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Rarity = input.ReadInt32();
            break;
          }
          case 26: {
            Phase = input.ReadString();
            break;
          }
          case 34: {
            MaxLevel = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Rarity = input.ReadInt32();
            break;
          }
          case 26: {
            Phase = input.ReadString();
            break;
          }
          case 34: {
            MaxLevel = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DiscPromoteLimit : pb::IMessage<table_DiscPromoteLimit>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DiscPromoteLimit> _parser = new pb::MessageParser<table_DiscPromoteLimit>(() => new table_DiscPromoteLimit());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DiscPromoteLimit> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[135]; }
    }

    [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 table_DiscPromoteLimit() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscPromoteLimit(table_DiscPromoteLimit other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscPromoteLimit Clone() {
      return new table_DiscPromoteLimit(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DiscPromoteLimit> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DiscPromoteLimit.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DiscPromoteLimit> list_ = new pbc::RepeatedField<global::Nova.Client.DiscPromoteLimit>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DiscPromoteLimit> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DiscPromoteLimit);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DiscPromoteLimit other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DiscPromoteLimit other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DiscStrengthen : pb::IMessage<DiscStrengthen>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DiscStrengthen> _parser = new pb::MessageParser<DiscStrengthen>(() => new DiscStrengthen());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DiscStrengthen> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[136]; }
    }

    [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 DiscStrengthen() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscStrengthen(DiscStrengthen other) : this() {
      id_ = other.id_;
      exp_ = other.exp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscStrengthen Clone() {
      return new DiscStrengthen(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Exp" field.</summary>
    public const int ExpFieldNumber = 2;
    private int exp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Exp {
      get { return exp_; }
      set {
        exp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DiscStrengthen);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscStrengthen other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Exp != other.Exp) 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 (Exp != 0) hash ^= Exp.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.WriteInt32(Id);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      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.WriteInt32(Id);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      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.ComputeInt32Size(Id);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscStrengthen other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DiscStrengthen : pb::IMessage<table_DiscStrengthen>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DiscStrengthen> _parser = new pb::MessageParser<table_DiscStrengthen>(() => new table_DiscStrengthen());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DiscStrengthen> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[137]; }
    }

    [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 table_DiscStrengthen() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscStrengthen(table_DiscStrengthen other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscStrengthen Clone() {
      return new table_DiscStrengthen(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DiscStrengthen> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DiscStrengthen.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DiscStrengthen> list_ = new pbc::RepeatedField<global::Nova.Client.DiscStrengthen>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DiscStrengthen> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DiscStrengthen);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DiscStrengthen other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DiscStrengthen other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DiscTag : pb::IMessage<DiscTag>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DiscTag> _parser = new pb::MessageParser<DiscTag>(() => new DiscTag());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DiscTag> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[138]; }
    }

    [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 DiscTag() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscTag(DiscTag other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DiscTag Clone() {
      return new DiscTag(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = 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 DiscTag);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DiscTag other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) 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 (Title.Length != 0) hash ^= Title.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DiscTag other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DiscTag : pb::IMessage<table_DiscTag>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DiscTag> _parser = new pb::MessageParser<table_DiscTag>(() => new table_DiscTag());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DiscTag> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[139]; }
    }

    [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 table_DiscTag() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscTag(table_DiscTag other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DiscTag Clone() {
      return new table_DiscTag(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DiscTag> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DiscTag.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DiscTag> list_ = new pbc::RepeatedField<global::Nova.Client.DiscTag>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DiscTag> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DiscTag);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DiscTag other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DiscTag other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Drop : pb::IMessage<Drop>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Drop> _parser = new pb::MessageParser<Drop>(() => new Drop());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Drop> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[140]; }
    }

    [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 Drop() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Drop(Drop other) : this() {
      dropId_ = other.dropId_;
      pkgId_ = other.pkgId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Drop Clone() {
      return new Drop(this);
    }

    /// <summary>Field number for the "DropId" field.</summary>
    public const int DropIdFieldNumber = 1;
    private int dropId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropId {
      get { return dropId_; }
      set {
        dropId_ = value;
      }
    }

    /// <summary>Field number for the "PkgId" field.</summary>
    public const int PkgIdFieldNumber = 2;
    private int pkgId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PkgId {
      get { return pkgId_; }
      set {
        pkgId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Drop);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Drop other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DropId != other.DropId) return false;
      if (PkgId != other.PkgId) 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 (DropId != 0) hash ^= DropId.GetHashCode();
      if (PkgId != 0) hash ^= PkgId.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 (DropId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(DropId);
      }
      if (PkgId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PkgId);
      }
      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 (DropId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(DropId);
      }
      if (PkgId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PkgId);
      }
      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 (DropId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropId);
      }
      if (PkgId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PkgId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Drop other) {
      if (other == null) {
        return;
      }
      if (other.DropId != 0) {
        DropId = other.DropId;
      }
      if (other.PkgId != 0) {
        PkgId = other.PkgId;
      }
      _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: {
            DropId = input.ReadInt32();
            break;
          }
          case 16: {
            PkgId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            DropId = input.ReadInt32();
            break;
          }
          case 16: {
            PkgId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Drop : pb::IMessage<table_Drop>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Drop> _parser = new pb::MessageParser<table_Drop>(() => new table_Drop());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Drop> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[141]; }
    }

    [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 table_Drop() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Drop(table_Drop other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Drop Clone() {
      return new table_Drop(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Drop> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Drop.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Drop> list_ = new pbc::RepeatedField<global::Nova.Client.Drop>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Drop> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Drop);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Drop other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Drop other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DropItemShow : pb::IMessage<DropItemShow>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DropItemShow> _parser = new pb::MessageParser<DropItemShow>(() => new DropItemShow());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DropItemShow> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[142]; }
    }

    [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 DropItemShow() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropItemShow(DropItemShow other) : this() {
      dropId_ = other.dropId_;
      itemId_ = other.itemId_;
      itemQty_ = other.itemQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropItemShow Clone() {
      return new DropItemShow(this);
    }

    /// <summary>Field number for the "DropId" field.</summary>
    public const int DropIdFieldNumber = 1;
    private int dropId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropId {
      get { return dropId_; }
      set {
        dropId_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 2;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty" field.</summary>
    public const int ItemQtyFieldNumber = 3;
    private int itemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty {
      get { return itemQty_; }
      set {
        itemQty_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DropItemShow);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DropItemShow other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DropId != other.DropId) return false;
      if (ItemId != other.ItemId) return false;
      if (ItemQty != other.ItemQty) 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 (DropId != 0) hash ^= DropId.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ItemQty != 0) hash ^= ItemQty.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 (DropId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(DropId);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ItemQty);
      }
      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 (DropId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(DropId);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ItemQty);
      }
      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 (DropId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropId);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DropItemShow other) {
      if (other == null) {
        return;
      }
      if (other.DropId != 0) {
        DropId = other.DropId;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ItemQty != 0) {
        ItemQty = other.ItemQty;
      }
      _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: {
            DropId = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            DropId = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DropItemShow : pb::IMessage<table_DropItemShow>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DropItemShow> _parser = new pb::MessageParser<table_DropItemShow>(() => new table_DropItemShow());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DropItemShow> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[143]; }
    }

    [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 table_DropItemShow() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropItemShow(table_DropItemShow other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropItemShow Clone() {
      return new table_DropItemShow(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DropItemShow> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DropItemShow.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DropItemShow> list_ = new pbc::RepeatedField<global::Nova.Client.DropItemShow>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DropItemShow> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DropItemShow);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DropItemShow other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DropItemShow other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DropObject : pb::IMessage<DropObject>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DropObject> _parser = new pb::MessageParser<DropObject>(() => new DropObject());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DropObject> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[144]; }
    }

    [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 DropObject() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropObject(DropObject other) : this() {
      id_ = other.id_;
      dropObjectRes_ = other.dropObjectRes_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropObject Clone() {
      return new DropObject(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "DropObjectRes" field.</summary>
    public const int DropObjectResFieldNumber = 2;
    private string dropObjectRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DropObjectRes {
      get { return dropObjectRes_; }
      set {
        dropObjectRes_ = 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 DropObject);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DropObject other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (DropObjectRes != other.DropObjectRes) 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 (DropObjectRes.Length != 0) hash ^= DropObjectRes.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.WriteInt32(Id);
      }
      if (DropObjectRes.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DropObjectRes);
      }
      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.WriteInt32(Id);
      }
      if (DropObjectRes.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(DropObjectRes);
      }
      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.ComputeInt32Size(Id);
      }
      if (DropObjectRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DropObjectRes);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DropObject other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.DropObjectRes.Length != 0) {
        DropObjectRes = other.DropObjectRes;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            DropObjectRes = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            DropObjectRes = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DropObject : pb::IMessage<table_DropObject>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DropObject> _parser = new pb::MessageParser<table_DropObject>(() => new table_DropObject());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DropObject> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[145]; }
    }

    [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 table_DropObject() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropObject(table_DropObject other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropObject Clone() {
      return new table_DropObject(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DropObject> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DropObject.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DropObject> list_ = new pbc::RepeatedField<global::Nova.Client.DropObject>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DropObject> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DropObject);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DropObject other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DropObject other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DropObjectGroup : pb::IMessage<DropObjectGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DropObjectGroup> _parser = new pb::MessageParser<DropObjectGroup>(() => new DropObjectGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DropObjectGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[146]; }
    }

    [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 DropObjectGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropObjectGroup(DropObjectGroup other) : this() {
      dropObjectGroupId_ = other.dropObjectGroupId_;
      dropObjectId_ = other.dropObjectId_;
      weight_ = other.weight_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropObjectGroup Clone() {
      return new DropObjectGroup(this);
    }

    /// <summary>Field number for the "DropObjectGroupId" field.</summary>
    public const int DropObjectGroupIdFieldNumber = 1;
    private int dropObjectGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropObjectGroupId {
      get { return dropObjectGroupId_; }
      set {
        dropObjectGroupId_ = value;
      }
    }

    /// <summary>Field number for the "DropObjectId" field.</summary>
    public const int DropObjectIdFieldNumber = 2;
    private int dropObjectId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropObjectId {
      get { return dropObjectId_; }
      set {
        dropObjectId_ = value;
      }
    }

    /// <summary>Field number for the "weight" field.</summary>
    public const int WeightFieldNumber = 3;
    private int weight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Weight {
      get { return weight_; }
      set {
        weight_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DropObjectGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DropObjectGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (DropObjectGroupId != other.DropObjectGroupId) return false;
      if (DropObjectId != other.DropObjectId) return false;
      if (Weight != other.Weight) 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 (DropObjectGroupId != 0) hash ^= DropObjectGroupId.GetHashCode();
      if (DropObjectId != 0) hash ^= DropObjectId.GetHashCode();
      if (Weight != 0) hash ^= Weight.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 (DropObjectGroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(DropObjectGroupId);
      }
      if (DropObjectId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DropObjectId);
      }
      if (Weight != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Weight);
      }
      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 (DropObjectGroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(DropObjectGroupId);
      }
      if (DropObjectId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DropObjectId);
      }
      if (Weight != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Weight);
      }
      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 (DropObjectGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropObjectGroupId);
      }
      if (DropObjectId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropObjectId);
      }
      if (Weight != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DropObjectGroup other) {
      if (other == null) {
        return;
      }
      if (other.DropObjectGroupId != 0) {
        DropObjectGroupId = other.DropObjectGroupId;
      }
      if (other.DropObjectId != 0) {
        DropObjectId = other.DropObjectId;
      }
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      _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: {
            DropObjectGroupId = input.ReadInt32();
            break;
          }
          case 16: {
            DropObjectId = input.ReadInt32();
            break;
          }
          case 24: {
            Weight = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            DropObjectGroupId = input.ReadInt32();
            break;
          }
          case 16: {
            DropObjectId = input.ReadInt32();
            break;
          }
          case 24: {
            Weight = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DropObjectGroup : pb::IMessage<table_DropObjectGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DropObjectGroup> _parser = new pb::MessageParser<table_DropObjectGroup>(() => new table_DropObjectGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DropObjectGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[147]; }
    }

    [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 table_DropObjectGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropObjectGroup(table_DropObjectGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropObjectGroup Clone() {
      return new table_DropObjectGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DropObjectGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DropObjectGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DropObjectGroup> list_ = new pbc::RepeatedField<global::Nova.Client.DropObjectGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DropObjectGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DropObjectGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DropObjectGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DropObjectGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class DropPkg : pb::IMessage<DropPkg>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<DropPkg> _parser = new pb::MessageParser<DropPkg>(() => new DropPkg());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<DropPkg> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[148]; }
    }

    [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 DropPkg() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropPkg(DropPkg other) : this() {
      pkgId_ = other.pkgId_;
      itemId_ = other.itemId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public DropPkg Clone() {
      return new DropPkg(this);
    }

    /// <summary>Field number for the "PkgId" field.</summary>
    public const int PkgIdFieldNumber = 1;
    private int pkgId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PkgId {
      get { return pkgId_; }
      set {
        pkgId_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 2;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as DropPkg);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(DropPkg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PkgId != other.PkgId) return false;
      if (ItemId != other.ItemId) 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 (PkgId != 0) hash ^= PkgId.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.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 (PkgId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PkgId);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      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 (PkgId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PkgId);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      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 (PkgId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PkgId);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(DropPkg other) {
      if (other == null) {
        return;
      }
      if (other.PkgId != 0) {
        PkgId = other.PkgId;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      _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: {
            PkgId = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PkgId = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_DropPkg : pb::IMessage<table_DropPkg>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_DropPkg> _parser = new pb::MessageParser<table_DropPkg>(() => new table_DropPkg());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_DropPkg> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[149]; }
    }

    [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 table_DropPkg() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropPkg(table_DropPkg other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_DropPkg Clone() {
      return new table_DropPkg(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.DropPkg> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.DropPkg.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.DropPkg> list_ = new pbc::RepeatedField<global::Nova.Client.DropPkg>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.DropPkg> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_DropPkg);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_DropPkg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_DropPkg other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Effect : pb::IMessage<Effect>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Effect> _parser = new pb::MessageParser<Effect>(() => new Effect());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Effect> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[150]; }
    }

    [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 Effect() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Effect(Effect other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      levelTypeData_ = other.levelTypeData_;
      levelData_ = other.levelData_;
      mainOrSupport_ = other.mainOrSupport_;
      trigger_ = other.trigger_;
      triggerTarget_ = other.triggerTarget_;
      triggerCondition1_ = other.triggerCondition1_;
      triggerParam1_ = other.triggerParam1_;
      triggerParam2_ = other.triggerParam2_;
      triggerParam3_ = other.triggerParam3_;
      triggerParam4_ = other.triggerParam4_;
      triggerTarget2_ = other.triggerTarget2_;
      triggerCondition2_ = other.triggerCondition2_;
      trigger2Param1_ = other.trigger2Param1_;
      trigger2Param2_ = other.trigger2Param2_;
      trigger2Param3_ = other.trigger2Param3_;
      trigger2Param4_ = other.trigger2Param4_;
      triggerLogicType_ = other.triggerLogicType_;
      takeEffectTarget1_ = other.takeEffectTarget1_;
      takeEffectCondition1_ = other.takeEffectCondition1_;
      takeEffectParam1_ = other.takeEffectParam1_;
      takeEffectParam2_ = other.takeEffectParam2_;
      takeEffectParam3_ = other.takeEffectParam3_;
      takeEffectParam4_ = other.takeEffectParam4_;
      takeEffectTarget2_ = other.takeEffectTarget2_;
      takeEffectCondition2_ = other.takeEffectCondition2_;
      takeEffect2Param1_ = other.takeEffect2Param1_;
      takeEffect2Param2_ = other.takeEffect2Param2_;
      takeEffect2Param3_ = other.takeEffect2Param3_;
      takeEffect2Param4_ = other.takeEffect2Param4_;
      takeEffectLogicType_ = other.takeEffectLogicType_;
      target1_ = other.target1_;
      targetCondition1_ = other.targetCondition1_;
      targetParam1_ = other.targetParam1_;
      targetParam2_ = other.targetParam2_;
      targetParam3_ = other.targetParam3_;
      targetParam4_ = other.targetParam4_;
      targetCondition2_ = other.targetCondition2_;
      target2Param1_ = other.target2Param1_;
      target2Param2_ = other.target2Param2_;
      target2Param3_ = other.target2Param3_;
      target2Param4_ = other.target2Param4_;
      filterLogicType_ = other.filterLogicType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Effect Clone() {
      return new Effect(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "levelTypeData" field.</summary>
    public const int LevelTypeDataFieldNumber = 3;
    private int levelTypeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelTypeData {
      get { return levelTypeData_; }
      set {
        levelTypeData_ = value;
      }
    }

    /// <summary>Field number for the "LevelData" field.</summary>
    public const int LevelDataFieldNumber = 4;
    private int levelData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelData {
      get { return levelData_; }
      set {
        levelData_ = value;
      }
    }

    /// <summary>Field number for the "MainOrSupport" field.</summary>
    public const int MainOrSupportFieldNumber = 5;
    private int mainOrSupport_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainOrSupport {
      get { return mainOrSupport_; }
      set {
        mainOrSupport_ = value;
      }
    }

    /// <summary>Field number for the "Trigger" field.</summary>
    public const int TriggerFieldNumber = 6;
    private int trigger_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Trigger {
      get { return trigger_; }
      set {
        trigger_ = value;
      }
    }

    /// <summary>Field number for the "TriggerTarget" field.</summary>
    public const int TriggerTargetFieldNumber = 7;
    private int triggerTarget_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerTarget {
      get { return triggerTarget_; }
      set {
        triggerTarget_ = value;
      }
    }

    /// <summary>Field number for the "TriggerCondition1" field.</summary>
    public const int TriggerCondition1FieldNumber = 8;
    private int triggerCondition1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerCondition1 {
      get { return triggerCondition1_; }
      set {
        triggerCondition1_ = value;
      }
    }

    /// <summary>Field number for the "TriggerParam1" field.</summary>
    public const int TriggerParam1FieldNumber = 9;
    private string triggerParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerParam1 {
      get { return triggerParam1_; }
      set {
        triggerParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TriggerParam2" field.</summary>
    public const int TriggerParam2FieldNumber = 10;
    private string triggerParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerParam2 {
      get { return triggerParam2_; }
      set {
        triggerParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TriggerParam3" field.</summary>
    public const int TriggerParam3FieldNumber = 11;
    private string triggerParam3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerParam3 {
      get { return triggerParam3_; }
      set {
        triggerParam3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TriggerParam4" field.</summary>
    public const int TriggerParam4FieldNumber = 12;
    private string triggerParam4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerParam4 {
      get { return triggerParam4_; }
      set {
        triggerParam4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TriggerTarget2" field.</summary>
    public const int TriggerTarget2FieldNumber = 13;
    private int triggerTarget2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerTarget2 {
      get { return triggerTarget2_; }
      set {
        triggerTarget2_ = value;
      }
    }

    /// <summary>Field number for the "TriggerCondition2" field.</summary>
    public const int TriggerCondition2FieldNumber = 14;
    private int triggerCondition2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerCondition2 {
      get { return triggerCondition2_; }
      set {
        triggerCondition2_ = value;
      }
    }

    /// <summary>Field number for the "Trigger2Param1" field.</summary>
    public const int Trigger2Param1FieldNumber = 15;
    private string trigger2Param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Trigger2Param1 {
      get { return trigger2Param1_; }
      set {
        trigger2Param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Trigger2Param2" field.</summary>
    public const int Trigger2Param2FieldNumber = 16;
    private string trigger2Param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Trigger2Param2 {
      get { return trigger2Param2_; }
      set {
        trigger2Param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Trigger2Param3" field.</summary>
    public const int Trigger2Param3FieldNumber = 17;
    private string trigger2Param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Trigger2Param3 {
      get { return trigger2Param3_; }
      set {
        trigger2Param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Trigger2Param4" field.</summary>
    public const int Trigger2Param4FieldNumber = 18;
    private string trigger2Param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Trigger2Param4 {
      get { return trigger2Param4_; }
      set {
        trigger2Param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TriggerLogicType" field.</summary>
    public const int TriggerLogicTypeFieldNumber = 19;
    private int triggerLogicType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerLogicType {
      get { return triggerLogicType_; }
      set {
        triggerLogicType_ = value;
      }
    }

    /// <summary>Field number for the "TakeEffectTarget1" field.</summary>
    public const int TakeEffectTarget1FieldNumber = 20;
    private int takeEffectTarget1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TakeEffectTarget1 {
      get { return takeEffectTarget1_; }
      set {
        takeEffectTarget1_ = value;
      }
    }

    /// <summary>Field number for the "TakeEffectCondition1" field.</summary>
    public const int TakeEffectCondition1FieldNumber = 21;
    private int takeEffectCondition1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TakeEffectCondition1 {
      get { return takeEffectCondition1_; }
      set {
        takeEffectCondition1_ = value;
      }
    }

    /// <summary>Field number for the "TakeEffectParam1" field.</summary>
    public const int TakeEffectParam1FieldNumber = 22;
    private string takeEffectParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffectParam1 {
      get { return takeEffectParam1_; }
      set {
        takeEffectParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffectParam2" field.</summary>
    public const int TakeEffectParam2FieldNumber = 23;
    private string takeEffectParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffectParam2 {
      get { return takeEffectParam2_; }
      set {
        takeEffectParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffectParam3" field.</summary>
    public const int TakeEffectParam3FieldNumber = 24;
    private string takeEffectParam3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffectParam3 {
      get { return takeEffectParam3_; }
      set {
        takeEffectParam3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffectParam4" field.</summary>
    public const int TakeEffectParam4FieldNumber = 25;
    private string takeEffectParam4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffectParam4 {
      get { return takeEffectParam4_; }
      set {
        takeEffectParam4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffectTarget2" field.</summary>
    public const int TakeEffectTarget2FieldNumber = 26;
    private int takeEffectTarget2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TakeEffectTarget2 {
      get { return takeEffectTarget2_; }
      set {
        takeEffectTarget2_ = value;
      }
    }

    /// <summary>Field number for the "TakeEffectCondition2" field.</summary>
    public const int TakeEffectCondition2FieldNumber = 27;
    private int takeEffectCondition2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TakeEffectCondition2 {
      get { return takeEffectCondition2_; }
      set {
        takeEffectCondition2_ = value;
      }
    }

    /// <summary>Field number for the "TakeEffect2Param1" field.</summary>
    public const int TakeEffect2Param1FieldNumber = 28;
    private string takeEffect2Param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffect2Param1 {
      get { return takeEffect2Param1_; }
      set {
        takeEffect2Param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffect2Param2" field.</summary>
    public const int TakeEffect2Param2FieldNumber = 29;
    private string takeEffect2Param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffect2Param2 {
      get { return takeEffect2Param2_; }
      set {
        takeEffect2Param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffect2Param3" field.</summary>
    public const int TakeEffect2Param3FieldNumber = 30;
    private string takeEffect2Param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffect2Param3 {
      get { return takeEffect2Param3_; }
      set {
        takeEffect2Param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffect2Param4" field.</summary>
    public const int TakeEffect2Param4FieldNumber = 31;
    private string takeEffect2Param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TakeEffect2Param4 {
      get { return takeEffect2Param4_; }
      set {
        takeEffect2Param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffectLogicType" field.</summary>
    public const int TakeEffectLogicTypeFieldNumber = 32;
    private int takeEffectLogicType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TakeEffectLogicType {
      get { return takeEffectLogicType_; }
      set {
        takeEffectLogicType_ = value;
      }
    }

    /// <summary>Field number for the "Target1" field.</summary>
    public const int Target1FieldNumber = 33;
    private int target1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Target1 {
      get { return target1_; }
      set {
        target1_ = value;
      }
    }

    /// <summary>Field number for the "TargetCondition1" field.</summary>
    public const int TargetCondition1FieldNumber = 34;
    private int targetCondition1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TargetCondition1 {
      get { return targetCondition1_; }
      set {
        targetCondition1_ = value;
      }
    }

    /// <summary>Field number for the "TargetParam1" field.</summary>
    public const int TargetParam1FieldNumber = 35;
    private string targetParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TargetParam1 {
      get { return targetParam1_; }
      set {
        targetParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TargetParam2" field.</summary>
    public const int TargetParam2FieldNumber = 36;
    private string targetParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TargetParam2 {
      get { return targetParam2_; }
      set {
        targetParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TargetParam3" field.</summary>
    public const int TargetParam3FieldNumber = 37;
    private string targetParam3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TargetParam3 {
      get { return targetParam3_; }
      set {
        targetParam3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TargetParam4" field.</summary>
    public const int TargetParam4FieldNumber = 38;
    private string targetParam4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TargetParam4 {
      get { return targetParam4_; }
      set {
        targetParam4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TargetCondition2" field.</summary>
    public const int TargetCondition2FieldNumber = 39;
    private int targetCondition2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TargetCondition2 {
      get { return targetCondition2_; }
      set {
        targetCondition2_ = value;
      }
    }

    /// <summary>Field number for the "Target2Param1" field.</summary>
    public const int Target2Param1FieldNumber = 40;
    private string target2Param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Target2Param1 {
      get { return target2Param1_; }
      set {
        target2Param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Target2Param2" field.</summary>
    public const int Target2Param2FieldNumber = 41;
    private string target2Param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Target2Param2 {
      get { return target2Param2_; }
      set {
        target2Param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Target2Param3" field.</summary>
    public const int Target2Param3FieldNumber = 42;
    private string target2Param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Target2Param3 {
      get { return target2Param3_; }
      set {
        target2Param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Target2Param4" field.</summary>
    public const int Target2Param4FieldNumber = 43;
    private string target2Param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Target2Param4 {
      get { return target2Param4_; }
      set {
        target2Param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FilterLogicType" field.</summary>
    public const int FilterLogicTypeFieldNumber = 44;
    private int filterLogicType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FilterLogicType {
      get { return filterLogicType_; }
      set {
        filterLogicType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Effect);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Effect other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (LevelTypeData != other.LevelTypeData) return false;
      if (LevelData != other.LevelData) return false;
      if (MainOrSupport != other.MainOrSupport) return false;
      if (Trigger != other.Trigger) return false;
      if (TriggerTarget != other.TriggerTarget) return false;
      if (TriggerCondition1 != other.TriggerCondition1) return false;
      if (TriggerParam1 != other.TriggerParam1) return false;
      if (TriggerParam2 != other.TriggerParam2) return false;
      if (TriggerParam3 != other.TriggerParam3) return false;
      if (TriggerParam4 != other.TriggerParam4) return false;
      if (TriggerTarget2 != other.TriggerTarget2) return false;
      if (TriggerCondition2 != other.TriggerCondition2) return false;
      if (Trigger2Param1 != other.Trigger2Param1) return false;
      if (Trigger2Param2 != other.Trigger2Param2) return false;
      if (Trigger2Param3 != other.Trigger2Param3) return false;
      if (Trigger2Param4 != other.Trigger2Param4) return false;
      if (TriggerLogicType != other.TriggerLogicType) return false;
      if (TakeEffectTarget1 != other.TakeEffectTarget1) return false;
      if (TakeEffectCondition1 != other.TakeEffectCondition1) return false;
      if (TakeEffectParam1 != other.TakeEffectParam1) return false;
      if (TakeEffectParam2 != other.TakeEffectParam2) return false;
      if (TakeEffectParam3 != other.TakeEffectParam3) return false;
      if (TakeEffectParam4 != other.TakeEffectParam4) return false;
      if (TakeEffectTarget2 != other.TakeEffectTarget2) return false;
      if (TakeEffectCondition2 != other.TakeEffectCondition2) return false;
      if (TakeEffect2Param1 != other.TakeEffect2Param1) return false;
      if (TakeEffect2Param2 != other.TakeEffect2Param2) return false;
      if (TakeEffect2Param3 != other.TakeEffect2Param3) return false;
      if (TakeEffect2Param4 != other.TakeEffect2Param4) return false;
      if (TakeEffectLogicType != other.TakeEffectLogicType) return false;
      if (Target1 != other.Target1) return false;
      if (TargetCondition1 != other.TargetCondition1) return false;
      if (TargetParam1 != other.TargetParam1) return false;
      if (TargetParam2 != other.TargetParam2) return false;
      if (TargetParam3 != other.TargetParam3) return false;
      if (TargetParam4 != other.TargetParam4) return false;
      if (TargetCondition2 != other.TargetCondition2) return false;
      if (Target2Param1 != other.Target2Param1) return false;
      if (Target2Param2 != other.Target2Param2) return false;
      if (Target2Param3 != other.Target2Param3) return false;
      if (Target2Param4 != other.Target2Param4) return false;
      if (FilterLogicType != other.FilterLogicType) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (LevelTypeData != 0) hash ^= LevelTypeData.GetHashCode();
      if (LevelData != 0) hash ^= LevelData.GetHashCode();
      if (MainOrSupport != 0) hash ^= MainOrSupport.GetHashCode();
      if (Trigger != 0) hash ^= Trigger.GetHashCode();
      if (TriggerTarget != 0) hash ^= TriggerTarget.GetHashCode();
      if (TriggerCondition1 != 0) hash ^= TriggerCondition1.GetHashCode();
      if (TriggerParam1.Length != 0) hash ^= TriggerParam1.GetHashCode();
      if (TriggerParam2.Length != 0) hash ^= TriggerParam2.GetHashCode();
      if (TriggerParam3.Length != 0) hash ^= TriggerParam3.GetHashCode();
      if (TriggerParam4.Length != 0) hash ^= TriggerParam4.GetHashCode();
      if (TriggerTarget2 != 0) hash ^= TriggerTarget2.GetHashCode();
      if (TriggerCondition2 != 0) hash ^= TriggerCondition2.GetHashCode();
      if (Trigger2Param1.Length != 0) hash ^= Trigger2Param1.GetHashCode();
      if (Trigger2Param2.Length != 0) hash ^= Trigger2Param2.GetHashCode();
      if (Trigger2Param3.Length != 0) hash ^= Trigger2Param3.GetHashCode();
      if (Trigger2Param4.Length != 0) hash ^= Trigger2Param4.GetHashCode();
      if (TriggerLogicType != 0) hash ^= TriggerLogicType.GetHashCode();
      if (TakeEffectTarget1 != 0) hash ^= TakeEffectTarget1.GetHashCode();
      if (TakeEffectCondition1 != 0) hash ^= TakeEffectCondition1.GetHashCode();
      if (TakeEffectParam1.Length != 0) hash ^= TakeEffectParam1.GetHashCode();
      if (TakeEffectParam2.Length != 0) hash ^= TakeEffectParam2.GetHashCode();
      if (TakeEffectParam3.Length != 0) hash ^= TakeEffectParam3.GetHashCode();
      if (TakeEffectParam4.Length != 0) hash ^= TakeEffectParam4.GetHashCode();
      if (TakeEffectTarget2 != 0) hash ^= TakeEffectTarget2.GetHashCode();
      if (TakeEffectCondition2 != 0) hash ^= TakeEffectCondition2.GetHashCode();
      if (TakeEffect2Param1.Length != 0) hash ^= TakeEffect2Param1.GetHashCode();
      if (TakeEffect2Param2.Length != 0) hash ^= TakeEffect2Param2.GetHashCode();
      if (TakeEffect2Param3.Length != 0) hash ^= TakeEffect2Param3.GetHashCode();
      if (TakeEffect2Param4.Length != 0) hash ^= TakeEffect2Param4.GetHashCode();
      if (TakeEffectLogicType != 0) hash ^= TakeEffectLogicType.GetHashCode();
      if (Target1 != 0) hash ^= Target1.GetHashCode();
      if (TargetCondition1 != 0) hash ^= TargetCondition1.GetHashCode();
      if (TargetParam1.Length != 0) hash ^= TargetParam1.GetHashCode();
      if (TargetParam2.Length != 0) hash ^= TargetParam2.GetHashCode();
      if (TargetParam3.Length != 0) hash ^= TargetParam3.GetHashCode();
      if (TargetParam4.Length != 0) hash ^= TargetParam4.GetHashCode();
      if (TargetCondition2 != 0) hash ^= TargetCondition2.GetHashCode();
      if (Target2Param1.Length != 0) hash ^= Target2Param1.GetHashCode();
      if (Target2Param2.Length != 0) hash ^= Target2Param2.GetHashCode();
      if (Target2Param3.Length != 0) hash ^= Target2Param3.GetHashCode();
      if (Target2Param4.Length != 0) hash ^= Target2Param4.GetHashCode();
      if (FilterLogicType != 0) hash ^= FilterLogicType.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainOrSupport);
      }
      if (Trigger != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Trigger);
      }
      if (TriggerTarget != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(TriggerTarget);
      }
      if (TriggerCondition1 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(TriggerCondition1);
      }
      if (TriggerParam1.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(TriggerParam1);
      }
      if (TriggerParam2.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(TriggerParam2);
      }
      if (TriggerParam3.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TriggerParam3);
      }
      if (TriggerParam4.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(TriggerParam4);
      }
      if (TriggerTarget2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(TriggerTarget2);
      }
      if (TriggerCondition2 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(TriggerCondition2);
      }
      if (Trigger2Param1.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Trigger2Param1);
      }
      if (Trigger2Param2.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Trigger2Param2);
      }
      if (Trigger2Param3.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Trigger2Param3);
      }
      if (Trigger2Param4.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Trigger2Param4);
      }
      if (TriggerLogicType != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(TriggerLogicType);
      }
      if (TakeEffectTarget1 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(TakeEffectTarget1);
      }
      if (TakeEffectCondition1 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(TakeEffectCondition1);
      }
      if (TakeEffectParam1.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(TakeEffectParam1);
      }
      if (TakeEffectParam2.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(TakeEffectParam2);
      }
      if (TakeEffectParam3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(TakeEffectParam3);
      }
      if (TakeEffectParam4.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(TakeEffectParam4);
      }
      if (TakeEffectTarget2 != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(TakeEffectTarget2);
      }
      if (TakeEffectCondition2 != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(TakeEffectCondition2);
      }
      if (TakeEffect2Param1.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(TakeEffect2Param1);
      }
      if (TakeEffect2Param2.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(TakeEffect2Param2);
      }
      if (TakeEffect2Param3.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(TakeEffect2Param3);
      }
      if (TakeEffect2Param4.Length != 0) {
        output.WriteRawTag(250, 1);
        output.WriteString(TakeEffect2Param4);
      }
      if (TakeEffectLogicType != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(TakeEffectLogicType);
      }
      if (Target1 != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(Target1);
      }
      if (TargetCondition1 != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(TargetCondition1);
      }
      if (TargetParam1.Length != 0) {
        output.WriteRawTag(154, 2);
        output.WriteString(TargetParam1);
      }
      if (TargetParam2.Length != 0) {
        output.WriteRawTag(162, 2);
        output.WriteString(TargetParam2);
      }
      if (TargetParam3.Length != 0) {
        output.WriteRawTag(170, 2);
        output.WriteString(TargetParam3);
      }
      if (TargetParam4.Length != 0) {
        output.WriteRawTag(178, 2);
        output.WriteString(TargetParam4);
      }
      if (TargetCondition2 != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(TargetCondition2);
      }
      if (Target2Param1.Length != 0) {
        output.WriteRawTag(194, 2);
        output.WriteString(Target2Param1);
      }
      if (Target2Param2.Length != 0) {
        output.WriteRawTag(202, 2);
        output.WriteString(Target2Param2);
      }
      if (Target2Param3.Length != 0) {
        output.WriteRawTag(210, 2);
        output.WriteString(Target2Param3);
      }
      if (Target2Param4.Length != 0) {
        output.WriteRawTag(218, 2);
        output.WriteString(Target2Param4);
      }
      if (FilterLogicType != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(FilterLogicType);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainOrSupport);
      }
      if (Trigger != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Trigger);
      }
      if (TriggerTarget != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(TriggerTarget);
      }
      if (TriggerCondition1 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(TriggerCondition1);
      }
      if (TriggerParam1.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(TriggerParam1);
      }
      if (TriggerParam2.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(TriggerParam2);
      }
      if (TriggerParam3.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TriggerParam3);
      }
      if (TriggerParam4.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(TriggerParam4);
      }
      if (TriggerTarget2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(TriggerTarget2);
      }
      if (TriggerCondition2 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(TriggerCondition2);
      }
      if (Trigger2Param1.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Trigger2Param1);
      }
      if (Trigger2Param2.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Trigger2Param2);
      }
      if (Trigger2Param3.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Trigger2Param3);
      }
      if (Trigger2Param4.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Trigger2Param4);
      }
      if (TriggerLogicType != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(TriggerLogicType);
      }
      if (TakeEffectTarget1 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(TakeEffectTarget1);
      }
      if (TakeEffectCondition1 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(TakeEffectCondition1);
      }
      if (TakeEffectParam1.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(TakeEffectParam1);
      }
      if (TakeEffectParam2.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(TakeEffectParam2);
      }
      if (TakeEffectParam3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(TakeEffectParam3);
      }
      if (TakeEffectParam4.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(TakeEffectParam4);
      }
      if (TakeEffectTarget2 != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(TakeEffectTarget2);
      }
      if (TakeEffectCondition2 != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(TakeEffectCondition2);
      }
      if (TakeEffect2Param1.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(TakeEffect2Param1);
      }
      if (TakeEffect2Param2.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(TakeEffect2Param2);
      }
      if (TakeEffect2Param3.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(TakeEffect2Param3);
      }
      if (TakeEffect2Param4.Length != 0) {
        output.WriteRawTag(250, 1);
        output.WriteString(TakeEffect2Param4);
      }
      if (TakeEffectLogicType != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(TakeEffectLogicType);
      }
      if (Target1 != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(Target1);
      }
      if (TargetCondition1 != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(TargetCondition1);
      }
      if (TargetParam1.Length != 0) {
        output.WriteRawTag(154, 2);
        output.WriteString(TargetParam1);
      }
      if (TargetParam2.Length != 0) {
        output.WriteRawTag(162, 2);
        output.WriteString(TargetParam2);
      }
      if (TargetParam3.Length != 0) {
        output.WriteRawTag(170, 2);
        output.WriteString(TargetParam3);
      }
      if (TargetParam4.Length != 0) {
        output.WriteRawTag(178, 2);
        output.WriteString(TargetParam4);
      }
      if (TargetCondition2 != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(TargetCondition2);
      }
      if (Target2Param1.Length != 0) {
        output.WriteRawTag(194, 2);
        output.WriteString(Target2Param1);
      }
      if (Target2Param2.Length != 0) {
        output.WriteRawTag(202, 2);
        output.WriteString(Target2Param2);
      }
      if (Target2Param3.Length != 0) {
        output.WriteRawTag(210, 2);
        output.WriteString(Target2Param3);
      }
      if (Target2Param4.Length != 0) {
        output.WriteRawTag(218, 2);
        output.WriteString(Target2Param4);
      }
      if (FilterLogicType != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(FilterLogicType);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (LevelTypeData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTypeData);
      }
      if (LevelData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelData);
      }
      if (MainOrSupport != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainOrSupport);
      }
      if (Trigger != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Trigger);
      }
      if (TriggerTarget != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TriggerTarget);
      }
      if (TriggerCondition1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TriggerCondition1);
      }
      if (TriggerParam1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerParam1);
      }
      if (TriggerParam2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerParam2);
      }
      if (TriggerParam3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerParam3);
      }
      if (TriggerParam4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerParam4);
      }
      if (TriggerTarget2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TriggerTarget2);
      }
      if (TriggerCondition2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TriggerCondition2);
      }
      if (Trigger2Param1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Trigger2Param1);
      }
      if (Trigger2Param2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Trigger2Param2);
      }
      if (Trigger2Param3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Trigger2Param3);
      }
      if (Trigger2Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Trigger2Param4);
      }
      if (TriggerLogicType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TriggerLogicType);
      }
      if (TakeEffectTarget1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TakeEffectTarget1);
      }
      if (TakeEffectCondition1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TakeEffectCondition1);
      }
      if (TakeEffectParam1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffectParam1);
      }
      if (TakeEffectParam2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffectParam2);
      }
      if (TakeEffectParam3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffectParam3);
      }
      if (TakeEffectParam4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffectParam4);
      }
      if (TakeEffectTarget2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TakeEffectTarget2);
      }
      if (TakeEffectCondition2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TakeEffectCondition2);
      }
      if (TakeEffect2Param1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffect2Param1);
      }
      if (TakeEffect2Param2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffect2Param2);
      }
      if (TakeEffect2Param3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffect2Param3);
      }
      if (TakeEffect2Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TakeEffect2Param4);
      }
      if (TakeEffectLogicType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TakeEffectLogicType);
      }
      if (Target1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Target1);
      }
      if (TargetCondition1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TargetCondition1);
      }
      if (TargetParam1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TargetParam1);
      }
      if (TargetParam2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TargetParam2);
      }
      if (TargetParam3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TargetParam3);
      }
      if (TargetParam4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TargetParam4);
      }
      if (TargetCondition2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TargetCondition2);
      }
      if (Target2Param1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Target2Param1);
      }
      if (Target2Param2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Target2Param2);
      }
      if (Target2Param3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Target2Param3);
      }
      if (Target2Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Target2Param4);
      }
      if (FilterLogicType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FilterLogicType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Effect other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.LevelTypeData != 0) {
        LevelTypeData = other.LevelTypeData;
      }
      if (other.LevelData != 0) {
        LevelData = other.LevelData;
      }
      if (other.MainOrSupport != 0) {
        MainOrSupport = other.MainOrSupport;
      }
      if (other.Trigger != 0) {
        Trigger = other.Trigger;
      }
      if (other.TriggerTarget != 0) {
        TriggerTarget = other.TriggerTarget;
      }
      if (other.TriggerCondition1 != 0) {
        TriggerCondition1 = other.TriggerCondition1;
      }
      if (other.TriggerParam1.Length != 0) {
        TriggerParam1 = other.TriggerParam1;
      }
      if (other.TriggerParam2.Length != 0) {
        TriggerParam2 = other.TriggerParam2;
      }
      if (other.TriggerParam3.Length != 0) {
        TriggerParam3 = other.TriggerParam3;
      }
      if (other.TriggerParam4.Length != 0) {
        TriggerParam4 = other.TriggerParam4;
      }
      if (other.TriggerTarget2 != 0) {
        TriggerTarget2 = other.TriggerTarget2;
      }
      if (other.TriggerCondition2 != 0) {
        TriggerCondition2 = other.TriggerCondition2;
      }
      if (other.Trigger2Param1.Length != 0) {
        Trigger2Param1 = other.Trigger2Param1;
      }
      if (other.Trigger2Param2.Length != 0) {
        Trigger2Param2 = other.Trigger2Param2;
      }
      if (other.Trigger2Param3.Length != 0) {
        Trigger2Param3 = other.Trigger2Param3;
      }
      if (other.Trigger2Param4.Length != 0) {
        Trigger2Param4 = other.Trigger2Param4;
      }
      if (other.TriggerLogicType != 0) {
        TriggerLogicType = other.TriggerLogicType;
      }
      if (other.TakeEffectTarget1 != 0) {
        TakeEffectTarget1 = other.TakeEffectTarget1;
      }
      if (other.TakeEffectCondition1 != 0) {
        TakeEffectCondition1 = other.TakeEffectCondition1;
      }
      if (other.TakeEffectParam1.Length != 0) {
        TakeEffectParam1 = other.TakeEffectParam1;
      }
      if (other.TakeEffectParam2.Length != 0) {
        TakeEffectParam2 = other.TakeEffectParam2;
      }
      if (other.TakeEffectParam3.Length != 0) {
        TakeEffectParam3 = other.TakeEffectParam3;
      }
      if (other.TakeEffectParam4.Length != 0) {
        TakeEffectParam4 = other.TakeEffectParam4;
      }
      if (other.TakeEffectTarget2 != 0) {
        TakeEffectTarget2 = other.TakeEffectTarget2;
      }
      if (other.TakeEffectCondition2 != 0) {
        TakeEffectCondition2 = other.TakeEffectCondition2;
      }
      if (other.TakeEffect2Param1.Length != 0) {
        TakeEffect2Param1 = other.TakeEffect2Param1;
      }
      if (other.TakeEffect2Param2.Length != 0) {
        TakeEffect2Param2 = other.TakeEffect2Param2;
      }
      if (other.TakeEffect2Param3.Length != 0) {
        TakeEffect2Param3 = other.TakeEffect2Param3;
      }
      if (other.TakeEffect2Param4.Length != 0) {
        TakeEffect2Param4 = other.TakeEffect2Param4;
      }
      if (other.TakeEffectLogicType != 0) {
        TakeEffectLogicType = other.TakeEffectLogicType;
      }
      if (other.Target1 != 0) {
        Target1 = other.Target1;
      }
      if (other.TargetCondition1 != 0) {
        TargetCondition1 = other.TargetCondition1;
      }
      if (other.TargetParam1.Length != 0) {
        TargetParam1 = other.TargetParam1;
      }
      if (other.TargetParam2.Length != 0) {
        TargetParam2 = other.TargetParam2;
      }
      if (other.TargetParam3.Length != 0) {
        TargetParam3 = other.TargetParam3;
      }
      if (other.TargetParam4.Length != 0) {
        TargetParam4 = other.TargetParam4;
      }
      if (other.TargetCondition2 != 0) {
        TargetCondition2 = other.TargetCondition2;
      }
      if (other.Target2Param1.Length != 0) {
        Target2Param1 = other.Target2Param1;
      }
      if (other.Target2Param2.Length != 0) {
        Target2Param2 = other.Target2Param2;
      }
      if (other.Target2Param3.Length != 0) {
        Target2Param3 = other.Target2Param3;
      }
      if (other.Target2Param4.Length != 0) {
        Target2Param4 = other.Target2Param4;
      }
      if (other.FilterLogicType != 0) {
        FilterLogicType = other.FilterLogicType;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 32: {
            LevelData = input.ReadInt32();
            break;
          }
          case 40: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 48: {
            Trigger = input.ReadInt32();
            break;
          }
          case 56: {
            TriggerTarget = input.ReadInt32();
            break;
          }
          case 64: {
            TriggerCondition1 = input.ReadInt32();
            break;
          }
          case 74: {
            TriggerParam1 = input.ReadString();
            break;
          }
          case 82: {
            TriggerParam2 = input.ReadString();
            break;
          }
          case 90: {
            TriggerParam3 = input.ReadString();
            break;
          }
          case 98: {
            TriggerParam4 = input.ReadString();
            break;
          }
          case 104: {
            TriggerTarget2 = input.ReadInt32();
            break;
          }
          case 112: {
            TriggerCondition2 = input.ReadInt32();
            break;
          }
          case 122: {
            Trigger2Param1 = input.ReadString();
            break;
          }
          case 130: {
            Trigger2Param2 = input.ReadString();
            break;
          }
          case 138: {
            Trigger2Param3 = input.ReadString();
            break;
          }
          case 146: {
            Trigger2Param4 = input.ReadString();
            break;
          }
          case 152: {
            TriggerLogicType = input.ReadInt32();
            break;
          }
          case 160: {
            TakeEffectTarget1 = input.ReadInt32();
            break;
          }
          case 168: {
            TakeEffectCondition1 = input.ReadInt32();
            break;
          }
          case 178: {
            TakeEffectParam1 = input.ReadString();
            break;
          }
          case 186: {
            TakeEffectParam2 = input.ReadString();
            break;
          }
          case 194: {
            TakeEffectParam3 = input.ReadString();
            break;
          }
          case 202: {
            TakeEffectParam4 = input.ReadString();
            break;
          }
          case 208: {
            TakeEffectTarget2 = input.ReadInt32();
            break;
          }
          case 216: {
            TakeEffectCondition2 = input.ReadInt32();
            break;
          }
          case 226: {
            TakeEffect2Param1 = input.ReadString();
            break;
          }
          case 234: {
            TakeEffect2Param2 = input.ReadString();
            break;
          }
          case 242: {
            TakeEffect2Param3 = input.ReadString();
            break;
          }
          case 250: {
            TakeEffect2Param4 = input.ReadString();
            break;
          }
          case 256: {
            TakeEffectLogicType = input.ReadInt32();
            break;
          }
          case 264: {
            Target1 = input.ReadInt32();
            break;
          }
          case 272: {
            TargetCondition1 = input.ReadInt32();
            break;
          }
          case 282: {
            TargetParam1 = input.ReadString();
            break;
          }
          case 290: {
            TargetParam2 = input.ReadString();
            break;
          }
          case 298: {
            TargetParam3 = input.ReadString();
            break;
          }
          case 306: {
            TargetParam4 = input.ReadString();
            break;
          }
          case 312: {
            TargetCondition2 = input.ReadInt32();
            break;
          }
          case 322: {
            Target2Param1 = input.ReadString();
            break;
          }
          case 330: {
            Target2Param2 = input.ReadString();
            break;
          }
          case 338: {
            Target2Param3 = input.ReadString();
            break;
          }
          case 346: {
            Target2Param4 = input.ReadString();
            break;
          }
          case 352: {
            FilterLogicType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 32: {
            LevelData = input.ReadInt32();
            break;
          }
          case 40: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 48: {
            Trigger = input.ReadInt32();
            break;
          }
          case 56: {
            TriggerTarget = input.ReadInt32();
            break;
          }
          case 64: {
            TriggerCondition1 = input.ReadInt32();
            break;
          }
          case 74: {
            TriggerParam1 = input.ReadString();
            break;
          }
          case 82: {
            TriggerParam2 = input.ReadString();
            break;
          }
          case 90: {
            TriggerParam3 = input.ReadString();
            break;
          }
          case 98: {
            TriggerParam4 = input.ReadString();
            break;
          }
          case 104: {
            TriggerTarget2 = input.ReadInt32();
            break;
          }
          case 112: {
            TriggerCondition2 = input.ReadInt32();
            break;
          }
          case 122: {
            Trigger2Param1 = input.ReadString();
            break;
          }
          case 130: {
            Trigger2Param2 = input.ReadString();
            break;
          }
          case 138: {
            Trigger2Param3 = input.ReadString();
            break;
          }
          case 146: {
            Trigger2Param4 = input.ReadString();
            break;
          }
          case 152: {
            TriggerLogicType = input.ReadInt32();
            break;
          }
          case 160: {
            TakeEffectTarget1 = input.ReadInt32();
            break;
          }
          case 168: {
            TakeEffectCondition1 = input.ReadInt32();
            break;
          }
          case 178: {
            TakeEffectParam1 = input.ReadString();
            break;
          }
          case 186: {
            TakeEffectParam2 = input.ReadString();
            break;
          }
          case 194: {
            TakeEffectParam3 = input.ReadString();
            break;
          }
          case 202: {
            TakeEffectParam4 = input.ReadString();
            break;
          }
          case 208: {
            TakeEffectTarget2 = input.ReadInt32();
            break;
          }
          case 216: {
            TakeEffectCondition2 = input.ReadInt32();
            break;
          }
          case 226: {
            TakeEffect2Param1 = input.ReadString();
            break;
          }
          case 234: {
            TakeEffect2Param2 = input.ReadString();
            break;
          }
          case 242: {
            TakeEffect2Param3 = input.ReadString();
            break;
          }
          case 250: {
            TakeEffect2Param4 = input.ReadString();
            break;
          }
          case 256: {
            TakeEffectLogicType = input.ReadInt32();
            break;
          }
          case 264: {
            Target1 = input.ReadInt32();
            break;
          }
          case 272: {
            TargetCondition1 = input.ReadInt32();
            break;
          }
          case 282: {
            TargetParam1 = input.ReadString();
            break;
          }
          case 290: {
            TargetParam2 = input.ReadString();
            break;
          }
          case 298: {
            TargetParam3 = input.ReadString();
            break;
          }
          case 306: {
            TargetParam4 = input.ReadString();
            break;
          }
          case 312: {
            TargetCondition2 = input.ReadInt32();
            break;
          }
          case 322: {
            Target2Param1 = input.ReadString();
            break;
          }
          case 330: {
            Target2Param2 = input.ReadString();
            break;
          }
          case 338: {
            Target2Param3 = input.ReadString();
            break;
          }
          case 346: {
            Target2Param4 = input.ReadString();
            break;
          }
          case 352: {
            FilterLogicType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Effect : pb::IMessage<table_Effect>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Effect> _parser = new pb::MessageParser<table_Effect>(() => new table_Effect());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Effect> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[151]; }
    }

    [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 table_Effect() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Effect(table_Effect other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Effect Clone() {
      return new table_Effect(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Effect> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Effect.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Effect> list_ = new pbc::RepeatedField<global::Nova.Client.Effect>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Effect> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Effect);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Effect other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Effect other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EffectDesc : pb::IMessage<EffectDesc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EffectDesc> _parser = new pb::MessageParser<EffectDesc>(() => new EffectDesc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EffectDesc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[152]; }
    }

    [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 EffectDesc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EffectDesc(EffectDesc other) : this() {
      id_ = other.id_;
      typeID_ = other.typeID_;
      type2ID_ = other.type2ID_;
      desc_ = other.desc_;
      randomAttrDesc_ = other.randomAttrDesc_;
      attribute_ = other.attribute_;
      wordID_ = other.wordID_;
      isPercent_ = other.isPercent_;
      icon_ = other.icon_;
      format_ = other.format_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EffectDesc Clone() {
      return new EffectDesc(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "TypeID" field.</summary>
    public const int TypeIDFieldNumber = 2;
    private int typeID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TypeID {
      get { return typeID_; }
      set {
        typeID_ = value;
      }
    }

    /// <summary>Field number for the "Type2ID" field.</summary>
    public const int Type2IDFieldNumber = 3;
    private int type2ID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type2ID {
      get { return type2ID_; }
      set {
        type2ID_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RandomAttrDesc" field.</summary>
    public const int RandomAttrDescFieldNumber = 5;
    private string randomAttrDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RandomAttrDesc {
      get { return randomAttrDesc_; }
      set {
        randomAttrDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Attribute" field.</summary>
    public const int AttributeFieldNumber = 6;
    private string attribute_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Attribute {
      get { return attribute_; }
      set {
        attribute_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "WordID" field.</summary>
    public const int WordIDFieldNumber = 7;
    private int wordID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WordID {
      get { return wordID_; }
      set {
        wordID_ = value;
      }
    }

    /// <summary>Field number for the "isPercent" field.</summary>
    public const int IsPercentFieldNumber = 8;
    private bool isPercent_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsPercent {
      get { return isPercent_; }
      set {
        isPercent_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 9;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Format" field.</summary>
    public const int FormatFieldNumber = 10;
    private int format_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Format {
      get { return format_; }
      set {
        format_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EffectDesc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EffectDesc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (TypeID != other.TypeID) return false;
      if (Type2ID != other.Type2ID) return false;
      if (Desc != other.Desc) return false;
      if (RandomAttrDesc != other.RandomAttrDesc) return false;
      if (Attribute != other.Attribute) return false;
      if (WordID != other.WordID) return false;
      if (IsPercent != other.IsPercent) return false;
      if (Icon != other.Icon) return false;
      if (Format != other.Format) 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 (TypeID != 0) hash ^= TypeID.GetHashCode();
      if (Type2ID != 0) hash ^= Type2ID.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (RandomAttrDesc.Length != 0) hash ^= RandomAttrDesc.GetHashCode();
      if (Attribute.Length != 0) hash ^= Attribute.GetHashCode();
      if (WordID != 0) hash ^= WordID.GetHashCode();
      if (IsPercent != false) hash ^= IsPercent.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Format != 0) hash ^= Format.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.WriteInt32(Id);
      }
      if (TypeID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TypeID);
      }
      if (Type2ID != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type2ID);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (RandomAttrDesc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RandomAttrDesc);
      }
      if (Attribute.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Attribute);
      }
      if (WordID != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(WordID);
      }
      if (IsPercent != false) {
        output.WriteRawTag(64);
        output.WriteBool(IsPercent);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Icon);
      }
      if (Format != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Format);
      }
      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.WriteInt32(Id);
      }
      if (TypeID != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TypeID);
      }
      if (Type2ID != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type2ID);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (RandomAttrDesc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(RandomAttrDesc);
      }
      if (Attribute.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Attribute);
      }
      if (WordID != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(WordID);
      }
      if (IsPercent != false) {
        output.WriteRawTag(64);
        output.WriteBool(IsPercent);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Icon);
      }
      if (Format != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Format);
      }
      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.ComputeInt32Size(Id);
      }
      if (TypeID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TypeID);
      }
      if (Type2ID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type2ID);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (RandomAttrDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RandomAttrDesc);
      }
      if (Attribute.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Attribute);
      }
      if (WordID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WordID);
      }
      if (IsPercent != false) {
        size += 1 + 1;
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Format != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Format);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EffectDesc other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.TypeID != 0) {
        TypeID = other.TypeID;
      }
      if (other.Type2ID != 0) {
        Type2ID = other.Type2ID;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.RandomAttrDesc.Length != 0) {
        RandomAttrDesc = other.RandomAttrDesc;
      }
      if (other.Attribute.Length != 0) {
        Attribute = other.Attribute;
      }
      if (other.WordID != 0) {
        WordID = other.WordID;
      }
      if (other.IsPercent != false) {
        IsPercent = other.IsPercent;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Format != 0) {
        Format = other.Format;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            TypeID = input.ReadInt32();
            break;
          }
          case 24: {
            Type2ID = input.ReadInt32();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            RandomAttrDesc = input.ReadString();
            break;
          }
          case 50: {
            Attribute = input.ReadString();
            break;
          }
          case 56: {
            WordID = input.ReadInt32();
            break;
          }
          case 64: {
            IsPercent = input.ReadBool();
            break;
          }
          case 74: {
            Icon = input.ReadString();
            break;
          }
          case 80: {
            Format = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            TypeID = input.ReadInt32();
            break;
          }
          case 24: {
            Type2ID = input.ReadInt32();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            RandomAttrDesc = input.ReadString();
            break;
          }
          case 50: {
            Attribute = input.ReadString();
            break;
          }
          case 56: {
            WordID = input.ReadInt32();
            break;
          }
          case 64: {
            IsPercent = input.ReadBool();
            break;
          }
          case 74: {
            Icon = input.ReadString();
            break;
          }
          case 80: {
            Format = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EffectDesc : pb::IMessage<table_EffectDesc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EffectDesc> _parser = new pb::MessageParser<table_EffectDesc>(() => new table_EffectDesc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EffectDesc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[153]; }
    }

    [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 table_EffectDesc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EffectDesc(table_EffectDesc other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EffectDesc Clone() {
      return new table_EffectDesc(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EffectDesc> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EffectDesc.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EffectDesc> list_ = new pbc::RepeatedField<global::Nova.Client.EffectDesc>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EffectDesc> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EffectDesc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EffectDesc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EffectDesc other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EffectValue : pb::IMessage<EffectValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EffectValue> _parser = new pb::MessageParser<EffectValue>(() => new EffectValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EffectValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[154]; }
    }

    [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 EffectValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EffectValue(EffectValue other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      tag_ = other.tag_;
      takeEffectLimit_ = other.takeEffectLimit_;
      remove_ = other.remove_;
      cD_ = other.cD_;
      effectRate_ = other.effectRate_;
      effectType_ = other.effectType_;
      effectTypeFirstSubtype_ = other.effectTypeFirstSubtype_;
      effectTypeSecondSubtype_ = other.effectTypeSecondSubtype_;
      effectTypeParam1_ = other.effectTypeParam1_;
      effectTypeParam2_ = other.effectTypeParam2_;
      effectTypeParam3_ = other.effectTypeParam3_;
      effectTypeParam4_ = other.effectTypeParam4_;
      effectTypeParam5_ = other.effectTypeParam5_;
      effectTypeParam6_ = other.effectTypeParam6_;
      effectTypeParam7_ = other.effectTypeParam7_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EffectValue Clone() {
      return new EffectValue(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag" field.</summary>
    public const int TagFieldNumber = 3;
    private string tag_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag {
      get { return tag_; }
      set {
        tag_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TakeEffectLimit" field.</summary>
    public const int TakeEffectLimitFieldNumber = 4;
    private int takeEffectLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TakeEffectLimit {
      get { return takeEffectLimit_; }
      set {
        takeEffectLimit_ = value;
      }
    }

    /// <summary>Field number for the "Remove" field.</summary>
    public const int RemoveFieldNumber = 5;
    private bool remove_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Remove {
      get { return remove_; }
      set {
        remove_ = value;
      }
    }

    /// <summary>Field number for the "CD" field.</summary>
    public const int CDFieldNumber = 6;
    private int cD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CD {
      get { return cD_; }
      set {
        cD_ = value;
      }
    }

    /// <summary>Field number for the "EffectRate" field.</summary>
    public const int EffectRateFieldNumber = 7;
    private int effectRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectRate {
      get { return effectRate_; }
      set {
        effectRate_ = value;
      }
    }

    /// <summary>Field number for the "EffectType" field.</summary>
    public const int EffectTypeFieldNumber = 8;
    private int effectType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectType {
      get { return effectType_; }
      set {
        effectType_ = value;
      }
    }

    /// <summary>Field number for the "EffectTypeFirstSubtype" field.</summary>
    public const int EffectTypeFirstSubtypeFieldNumber = 9;
    private int effectTypeFirstSubtype_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectTypeFirstSubtype {
      get { return effectTypeFirstSubtype_; }
      set {
        effectTypeFirstSubtype_ = value;
      }
    }

    /// <summary>Field number for the "EffectTypeSecondSubtype" field.</summary>
    public const int EffectTypeSecondSubtypeFieldNumber = 10;
    private int effectTypeSecondSubtype_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectTypeSecondSubtype {
      get { return effectTypeSecondSubtype_; }
      set {
        effectTypeSecondSubtype_ = value;
      }
    }

    /// <summary>Field number for the "EffectTypeParam1" field.</summary>
    public const int EffectTypeParam1FieldNumber = 11;
    private string effectTypeParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EffectTypeParam1 {
      get { return effectTypeParam1_; }
      set {
        effectTypeParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectTypeParam2" field.</summary>
    public const int EffectTypeParam2FieldNumber = 12;
    private string effectTypeParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EffectTypeParam2 {
      get { return effectTypeParam2_; }
      set {
        effectTypeParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectTypeParam3" field.</summary>
    public const int EffectTypeParam3FieldNumber = 13;
    private string effectTypeParam3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EffectTypeParam3 {
      get { return effectTypeParam3_; }
      set {
        effectTypeParam3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectTypeParam4" field.</summary>
    public const int EffectTypeParam4FieldNumber = 14;
    private string effectTypeParam4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EffectTypeParam4 {
      get { return effectTypeParam4_; }
      set {
        effectTypeParam4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectTypeParam5" field.</summary>
    public const int EffectTypeParam5FieldNumber = 15;
    private string effectTypeParam5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EffectTypeParam5 {
      get { return effectTypeParam5_; }
      set {
        effectTypeParam5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectTypeParam6" field.</summary>
    public const int EffectTypeParam6FieldNumber = 16;
    private string effectTypeParam6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EffectTypeParam6 {
      get { return effectTypeParam6_; }
      set {
        effectTypeParam6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectTypeParam7" field.</summary>
    public const int EffectTypeParam7FieldNumber = 17;
    private string effectTypeParam7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EffectTypeParam7 {
      get { return effectTypeParam7_; }
      set {
        effectTypeParam7_ = 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 EffectValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EffectValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Tag != other.Tag) return false;
      if (TakeEffectLimit != other.TakeEffectLimit) return false;
      if (Remove != other.Remove) return false;
      if (CD != other.CD) return false;
      if (EffectRate != other.EffectRate) return false;
      if (EffectType != other.EffectType) return false;
      if (EffectTypeFirstSubtype != other.EffectTypeFirstSubtype) return false;
      if (EffectTypeSecondSubtype != other.EffectTypeSecondSubtype) return false;
      if (EffectTypeParam1 != other.EffectTypeParam1) return false;
      if (EffectTypeParam2 != other.EffectTypeParam2) return false;
      if (EffectTypeParam3 != other.EffectTypeParam3) return false;
      if (EffectTypeParam4 != other.EffectTypeParam4) return false;
      if (EffectTypeParam5 != other.EffectTypeParam5) return false;
      if (EffectTypeParam6 != other.EffectTypeParam6) return false;
      if (EffectTypeParam7 != other.EffectTypeParam7) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Tag.Length != 0) hash ^= Tag.GetHashCode();
      if (TakeEffectLimit != 0) hash ^= TakeEffectLimit.GetHashCode();
      if (Remove != false) hash ^= Remove.GetHashCode();
      if (CD != 0) hash ^= CD.GetHashCode();
      if (EffectRate != 0) hash ^= EffectRate.GetHashCode();
      if (EffectType != 0) hash ^= EffectType.GetHashCode();
      if (EffectTypeFirstSubtype != 0) hash ^= EffectTypeFirstSubtype.GetHashCode();
      if (EffectTypeSecondSubtype != 0) hash ^= EffectTypeSecondSubtype.GetHashCode();
      if (EffectTypeParam1.Length != 0) hash ^= EffectTypeParam1.GetHashCode();
      if (EffectTypeParam2.Length != 0) hash ^= EffectTypeParam2.GetHashCode();
      if (EffectTypeParam3.Length != 0) hash ^= EffectTypeParam3.GetHashCode();
      if (EffectTypeParam4.Length != 0) hash ^= EffectTypeParam4.GetHashCode();
      if (EffectTypeParam5.Length != 0) hash ^= EffectTypeParam5.GetHashCode();
      if (EffectTypeParam6.Length != 0) hash ^= EffectTypeParam6.GetHashCode();
      if (EffectTypeParam7.Length != 0) hash ^= EffectTypeParam7.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Tag.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Tag);
      }
      if (TakeEffectLimit != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TakeEffectLimit);
      }
      if (Remove != false) {
        output.WriteRawTag(40);
        output.WriteBool(Remove);
      }
      if (CD != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(CD);
      }
      if (EffectRate != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(EffectRate);
      }
      if (EffectType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EffectType);
      }
      if (EffectTypeFirstSubtype != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(EffectTypeFirstSubtype);
      }
      if (EffectTypeSecondSubtype != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(EffectTypeSecondSubtype);
      }
      if (EffectTypeParam1.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(EffectTypeParam1);
      }
      if (EffectTypeParam2.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(EffectTypeParam2);
      }
      if (EffectTypeParam3.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(EffectTypeParam3);
      }
      if (EffectTypeParam4.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(EffectTypeParam4);
      }
      if (EffectTypeParam5.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(EffectTypeParam5);
      }
      if (EffectTypeParam6.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(EffectTypeParam6);
      }
      if (EffectTypeParam7.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(EffectTypeParam7);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Tag.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Tag);
      }
      if (TakeEffectLimit != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TakeEffectLimit);
      }
      if (Remove != false) {
        output.WriteRawTag(40);
        output.WriteBool(Remove);
      }
      if (CD != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(CD);
      }
      if (EffectRate != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(EffectRate);
      }
      if (EffectType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EffectType);
      }
      if (EffectTypeFirstSubtype != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(EffectTypeFirstSubtype);
      }
      if (EffectTypeSecondSubtype != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(EffectTypeSecondSubtype);
      }
      if (EffectTypeParam1.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(EffectTypeParam1);
      }
      if (EffectTypeParam2.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(EffectTypeParam2);
      }
      if (EffectTypeParam3.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(EffectTypeParam3);
      }
      if (EffectTypeParam4.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(EffectTypeParam4);
      }
      if (EffectTypeParam5.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(EffectTypeParam5);
      }
      if (EffectTypeParam6.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(EffectTypeParam6);
      }
      if (EffectTypeParam7.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(EffectTypeParam7);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Tag.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Tag);
      }
      if (TakeEffectLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TakeEffectLimit);
      }
      if (Remove != false) {
        size += 1 + 1;
      }
      if (CD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CD);
      }
      if (EffectRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectRate);
      }
      if (EffectType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectType);
      }
      if (EffectTypeFirstSubtype != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectTypeFirstSubtype);
      }
      if (EffectTypeSecondSubtype != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectTypeSecondSubtype);
      }
      if (EffectTypeParam1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EffectTypeParam1);
      }
      if (EffectTypeParam2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EffectTypeParam2);
      }
      if (EffectTypeParam3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EffectTypeParam3);
      }
      if (EffectTypeParam4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EffectTypeParam4);
      }
      if (EffectTypeParam5.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EffectTypeParam5);
      }
      if (EffectTypeParam6.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(EffectTypeParam6);
      }
      if (EffectTypeParam7.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(EffectTypeParam7);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EffectValue other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Tag.Length != 0) {
        Tag = other.Tag;
      }
      if (other.TakeEffectLimit != 0) {
        TakeEffectLimit = other.TakeEffectLimit;
      }
      if (other.Remove != false) {
        Remove = other.Remove;
      }
      if (other.CD != 0) {
        CD = other.CD;
      }
      if (other.EffectRate != 0) {
        EffectRate = other.EffectRate;
      }
      if (other.EffectType != 0) {
        EffectType = other.EffectType;
      }
      if (other.EffectTypeFirstSubtype != 0) {
        EffectTypeFirstSubtype = other.EffectTypeFirstSubtype;
      }
      if (other.EffectTypeSecondSubtype != 0) {
        EffectTypeSecondSubtype = other.EffectTypeSecondSubtype;
      }
      if (other.EffectTypeParam1.Length != 0) {
        EffectTypeParam1 = other.EffectTypeParam1;
      }
      if (other.EffectTypeParam2.Length != 0) {
        EffectTypeParam2 = other.EffectTypeParam2;
      }
      if (other.EffectTypeParam3.Length != 0) {
        EffectTypeParam3 = other.EffectTypeParam3;
      }
      if (other.EffectTypeParam4.Length != 0) {
        EffectTypeParam4 = other.EffectTypeParam4;
      }
      if (other.EffectTypeParam5.Length != 0) {
        EffectTypeParam5 = other.EffectTypeParam5;
      }
      if (other.EffectTypeParam6.Length != 0) {
        EffectTypeParam6 = other.EffectTypeParam6;
      }
      if (other.EffectTypeParam7.Length != 0) {
        EffectTypeParam7 = other.EffectTypeParam7;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Tag = input.ReadString();
            break;
          }
          case 32: {
            TakeEffectLimit = input.ReadInt32();
            break;
          }
          case 40: {
            Remove = input.ReadBool();
            break;
          }
          case 48: {
            CD = input.ReadInt32();
            break;
          }
          case 56: {
            EffectRate = input.ReadInt32();
            break;
          }
          case 64: {
            EffectType = input.ReadInt32();
            break;
          }
          case 72: {
            EffectTypeFirstSubtype = input.ReadInt32();
            break;
          }
          case 80: {
            EffectTypeSecondSubtype = input.ReadInt32();
            break;
          }
          case 90: {
            EffectTypeParam1 = input.ReadString();
            break;
          }
          case 98: {
            EffectTypeParam2 = input.ReadString();
            break;
          }
          case 106: {
            EffectTypeParam3 = input.ReadString();
            break;
          }
          case 114: {
            EffectTypeParam4 = input.ReadString();
            break;
          }
          case 122: {
            EffectTypeParam5 = input.ReadString();
            break;
          }
          case 130: {
            EffectTypeParam6 = input.ReadString();
            break;
          }
          case 138: {
            EffectTypeParam7 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Tag = input.ReadString();
            break;
          }
          case 32: {
            TakeEffectLimit = input.ReadInt32();
            break;
          }
          case 40: {
            Remove = input.ReadBool();
            break;
          }
          case 48: {
            CD = input.ReadInt32();
            break;
          }
          case 56: {
            EffectRate = input.ReadInt32();
            break;
          }
          case 64: {
            EffectType = input.ReadInt32();
            break;
          }
          case 72: {
            EffectTypeFirstSubtype = input.ReadInt32();
            break;
          }
          case 80: {
            EffectTypeSecondSubtype = input.ReadInt32();
            break;
          }
          case 90: {
            EffectTypeParam1 = input.ReadString();
            break;
          }
          case 98: {
            EffectTypeParam2 = input.ReadString();
            break;
          }
          case 106: {
            EffectTypeParam3 = input.ReadString();
            break;
          }
          case 114: {
            EffectTypeParam4 = input.ReadString();
            break;
          }
          case 122: {
            EffectTypeParam5 = input.ReadString();
            break;
          }
          case 130: {
            EffectTypeParam6 = input.ReadString();
            break;
          }
          case 138: {
            EffectTypeParam7 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EffectValue : pb::IMessage<table_EffectValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EffectValue> _parser = new pb::MessageParser<table_EffectValue>(() => new table_EffectValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EffectValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[155]; }
    }

    [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 table_EffectValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EffectValue(table_EffectValue other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EffectValue Clone() {
      return new table_EffectValue(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EffectValue> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EffectValue.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EffectValue> list_ = new pbc::RepeatedField<global::Nova.Client.EffectValue>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EffectValue> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EffectValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EffectValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EffectValue other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EndSceneType : pb::IMessage<EndSceneType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EndSceneType> _parser = new pb::MessageParser<EndSceneType>(() => new EndSceneType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EndSceneType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[156]; }
    }

    [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 EndSceneType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndSceneType(EndSceneType other) : this() {
      id_ = other.id_;
      theme_ = other.theme_;
      endSceneName_ = other.endSceneName_;
      bGM_ = other.bGM_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EndSceneType Clone() {
      return new EndSceneType(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 2;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "EndSceneName" field.</summary>
    public const int EndSceneNameFieldNumber = 3;
    private string endSceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EndSceneName {
      get { return endSceneName_; }
      set {
        endSceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 4;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = 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 EndSceneType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EndSceneType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Theme != other.Theme) return false;
      if (EndSceneName != other.EndSceneName) return false;
      if (BGM != other.BGM) 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 (Theme != 0) hash ^= Theme.GetHashCode();
      if (EndSceneName.Length != 0) hash ^= EndSceneName.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.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.WriteInt32(Id);
      }
      if (Theme != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Theme);
      }
      if (EndSceneName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(EndSceneName);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BGM);
      }
      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.WriteInt32(Id);
      }
      if (Theme != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Theme);
      }
      if (EndSceneName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(EndSceneName);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BGM);
      }
      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.ComputeInt32Size(Id);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (EndSceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndSceneName);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EndSceneType other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.EndSceneName.Length != 0) {
        EndSceneName = other.EndSceneName;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Theme = input.ReadInt32();
            break;
          }
          case 26: {
            EndSceneName = input.ReadString();
            break;
          }
          case 34: {
            BGM = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Theme = input.ReadInt32();
            break;
          }
          case 26: {
            EndSceneName = input.ReadString();
            break;
          }
          case 34: {
            BGM = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EndSceneType : pb::IMessage<table_EndSceneType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EndSceneType> _parser = new pb::MessageParser<table_EndSceneType>(() => new table_EndSceneType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EndSceneType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[157]; }
    }

    [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 table_EndSceneType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EndSceneType(table_EndSceneType other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EndSceneType Clone() {
      return new table_EndSceneType(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EndSceneType> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EndSceneType.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EndSceneType> list_ = new pbc::RepeatedField<global::Nova.Client.EndSceneType>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EndSceneType> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EndSceneType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EndSceneType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EndSceneType other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EnergyBuy : pb::IMessage<EnergyBuy>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EnergyBuy> _parser = new pb::MessageParser<EnergyBuy>(() => new EnergyBuy());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EnergyBuy> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[158]; }
    }

    [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 EnergyBuy() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EnergyBuy(EnergyBuy other) : this() {
      id_ = other.id_;
      currencyItemId_ = other.currencyItemId_;
      currencyItemQty_ = other.currencyItemQty_;
      energyValue_ = other.energyValue_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EnergyBuy Clone() {
      return new EnergyBuy(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CurrencyItemId" field.</summary>
    public const int CurrencyItemIdFieldNumber = 2;
    private int currencyItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CurrencyItemId {
      get { return currencyItemId_; }
      set {
        currencyItemId_ = value;
      }
    }

    /// <summary>Field number for the "CurrencyItemQty" field.</summary>
    public const int CurrencyItemQtyFieldNumber = 3;
    private int currencyItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CurrencyItemQty {
      get { return currencyItemQty_; }
      set {
        currencyItemQty_ = value;
      }
    }

    /// <summary>Field number for the "EnergyValue" field.</summary>
    public const int EnergyValueFieldNumber = 4;
    private int energyValue_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnergyValue {
      get { return energyValue_; }
      set {
        energyValue_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EnergyBuy);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EnergyBuy other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CurrencyItemId != other.CurrencyItemId) return false;
      if (CurrencyItemQty != other.CurrencyItemQty) return false;
      if (EnergyValue != other.EnergyValue) 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 (CurrencyItemId != 0) hash ^= CurrencyItemId.GetHashCode();
      if (CurrencyItemQty != 0) hash ^= CurrencyItemQty.GetHashCode();
      if (EnergyValue != 0) hash ^= EnergyValue.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.WriteInt32(Id);
      }
      if (CurrencyItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CurrencyItemId);
      }
      if (CurrencyItemQty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CurrencyItemQty);
      }
      if (EnergyValue != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EnergyValue);
      }
      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.WriteInt32(Id);
      }
      if (CurrencyItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CurrencyItemId);
      }
      if (CurrencyItemQty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CurrencyItemQty);
      }
      if (EnergyValue != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EnergyValue);
      }
      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.ComputeInt32Size(Id);
      }
      if (CurrencyItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrencyItemId);
      }
      if (CurrencyItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrencyItemQty);
      }
      if (EnergyValue != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyValue);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EnergyBuy other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CurrencyItemId != 0) {
        CurrencyItemId = other.CurrencyItemId;
      }
      if (other.CurrencyItemQty != 0) {
        CurrencyItemQty = other.CurrencyItemQty;
      }
      if (other.EnergyValue != 0) {
        EnergyValue = other.EnergyValue;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CurrencyItemId = input.ReadInt32();
            break;
          }
          case 24: {
            CurrencyItemQty = input.ReadInt32();
            break;
          }
          case 32: {
            EnergyValue = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CurrencyItemId = input.ReadInt32();
            break;
          }
          case 24: {
            CurrencyItemQty = input.ReadInt32();
            break;
          }
          case 32: {
            EnergyValue = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EnergyBuy : pb::IMessage<table_EnergyBuy>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EnergyBuy> _parser = new pb::MessageParser<table_EnergyBuy>(() => new table_EnergyBuy());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EnergyBuy> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[159]; }
    }

    [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 table_EnergyBuy() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EnergyBuy(table_EnergyBuy other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EnergyBuy Clone() {
      return new table_EnergyBuy(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EnergyBuy> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EnergyBuy.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EnergyBuy> list_ = new pbc::RepeatedField<global::Nova.Client.EnergyBuy>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EnergyBuy> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EnergyBuy);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EnergyBuy other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EnergyBuy other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EnumDesc : pb::IMessage<EnumDesc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EnumDesc> _parser = new pb::MessageParser<EnumDesc>(() => new EnumDesc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EnumDesc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[160]; }
    }

    [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 EnumDesc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EnumDesc(EnumDesc other) : this() {
      enumName_ = other.enumName_;
      value_ = other.value_;
      key_ = other.key_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EnumDesc Clone() {
      return new EnumDesc(this);
    }

    /// <summary>Field number for the "EnumName" field.</summary>
    public const int EnumNameFieldNumber = 1;
    private string enumName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EnumName {
      get { return enumName_; }
      set {
        enumName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Value" field.</summary>
    public const int ValueFieldNumber = 2;
    private int value_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Value {
      get { return value_; }
      set {
        value_ = value;
      }
    }

    /// <summary>Field number for the "Key" field.</summary>
    public const int KeyFieldNumber = 3;
    private string key_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Key {
      get { return key_; }
      set {
        key_ = 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 EnumDesc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EnumDesc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (EnumName != other.EnumName) return false;
      if (Value != other.Value) return false;
      if (Key != other.Key) 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 (EnumName.Length != 0) hash ^= EnumName.GetHashCode();
      if (Value != 0) hash ^= Value.GetHashCode();
      if (Key.Length != 0) hash ^= Key.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 (EnumName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(EnumName);
      }
      if (Value != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Value);
      }
      if (Key.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Key);
      }
      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 (EnumName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(EnumName);
      }
      if (Value != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Value);
      }
      if (Key.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Key);
      }
      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 (EnumName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EnumName);
      }
      if (Value != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value);
      }
      if (Key.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Key);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EnumDesc other) {
      if (other == null) {
        return;
      }
      if (other.EnumName.Length != 0) {
        EnumName = other.EnumName;
      }
      if (other.Value != 0) {
        Value = other.Value;
      }
      if (other.Key.Length != 0) {
        Key = other.Key;
      }
      _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: {
            EnumName = input.ReadString();
            break;
          }
          case 16: {
            Value = input.ReadInt32();
            break;
          }
          case 26: {
            Key = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            EnumName = input.ReadString();
            break;
          }
          case 16: {
            Value = input.ReadInt32();
            break;
          }
          case 26: {
            Key = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EnumDesc : pb::IMessage<table_EnumDesc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EnumDesc> _parser = new pb::MessageParser<table_EnumDesc>(() => new table_EnumDesc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EnumDesc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[161]; }
    }

    [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 table_EnumDesc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EnumDesc(table_EnumDesc other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EnumDesc Clone() {
      return new table_EnumDesc(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EnumDesc> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EnumDesc.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EnumDesc> list_ = new pbc::RepeatedField<global::Nova.Client.EnumDesc>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EnumDesc> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EnumDesc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EnumDesc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EnumDesc other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Equipment : pb::IMessage<Equipment>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Equipment> _parser = new pb::MessageParser<Equipment>(() => new Equipment());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Equipment> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[162]; }
    }

    [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 Equipment() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Equipment(Equipment other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      equipmentType_ = other.equipmentType_;
      attrGroupId_ = other.attrGroupId_;
      expGroupId_ = other.expGroupId_;
      maxLevel_ = other.maxLevel_;
      randomAttrCount_ = other.randomAttrCount_;
      attr1UnlockLevel_ = other.attr1UnlockLevel_;
      attr2UnlockLevel_ = other.attr2UnlockLevel_;
      attr3UnlockLevel_ = other.attr3UnlockLevel_;
      attr4UnlockLevel_ = other.attr4UnlockLevel_;
      provideExp_ = other.provideExp_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Equipment Clone() {
      return new Equipment(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EquipmentType" field.</summary>
    public const int EquipmentTypeFieldNumber = 3;
    private int equipmentType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EquipmentType {
      get { return equipmentType_; }
      set {
        equipmentType_ = value;
      }
    }

    /// <summary>Field number for the "AttrGroupId" field.</summary>
    public const int AttrGroupIdFieldNumber = 4;
    private int attrGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttrGroupId {
      get { return attrGroupId_; }
      set {
        attrGroupId_ = value;
      }
    }

    /// <summary>Field number for the "ExpGroupId" field.</summary>
    public const int ExpGroupIdFieldNumber = 5;
    private int expGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExpGroupId {
      get { return expGroupId_; }
      set {
        expGroupId_ = value;
      }
    }

    /// <summary>Field number for the "MaxLevel" field.</summary>
    public const int MaxLevelFieldNumber = 6;
    private int maxLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxLevel {
      get { return maxLevel_; }
      set {
        maxLevel_ = value;
      }
    }

    /// <summary>Field number for the "RandomAttrCount" field.</summary>
    public const int RandomAttrCountFieldNumber = 7;
    private int randomAttrCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RandomAttrCount {
      get { return randomAttrCount_; }
      set {
        randomAttrCount_ = value;
      }
    }

    /// <summary>Field number for the "Attr1UnlockLevel" field.</summary>
    public const int Attr1UnlockLevelFieldNumber = 8;
    private int attr1UnlockLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Attr1UnlockLevel {
      get { return attr1UnlockLevel_; }
      set {
        attr1UnlockLevel_ = value;
      }
    }

    /// <summary>Field number for the "Attr2UnlockLevel" field.</summary>
    public const int Attr2UnlockLevelFieldNumber = 9;
    private int attr2UnlockLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Attr2UnlockLevel {
      get { return attr2UnlockLevel_; }
      set {
        attr2UnlockLevel_ = value;
      }
    }

    /// <summary>Field number for the "Attr3UnlockLevel" field.</summary>
    public const int Attr3UnlockLevelFieldNumber = 10;
    private int attr3UnlockLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Attr3UnlockLevel {
      get { return attr3UnlockLevel_; }
      set {
        attr3UnlockLevel_ = value;
      }
    }

    /// <summary>Field number for the "Attr4UnlockLevel" field.</summary>
    public const int Attr4UnlockLevelFieldNumber = 11;
    private int attr4UnlockLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Attr4UnlockLevel {
      get { return attr4UnlockLevel_; }
      set {
        attr4UnlockLevel_ = value;
      }
    }

    /// <summary>Field number for the "ProvideExp" field.</summary>
    public const int ProvideExpFieldNumber = 12;
    private int provideExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ProvideExp {
      get { return provideExp_; }
      set {
        provideExp_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 13;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 Equipment);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Equipment other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (EquipmentType != other.EquipmentType) return false;
      if (AttrGroupId != other.AttrGroupId) return false;
      if (ExpGroupId != other.ExpGroupId) return false;
      if (MaxLevel != other.MaxLevel) return false;
      if (RandomAttrCount != other.RandomAttrCount) return false;
      if (Attr1UnlockLevel != other.Attr1UnlockLevel) return false;
      if (Attr2UnlockLevel != other.Attr2UnlockLevel) return false;
      if (Attr3UnlockLevel != other.Attr3UnlockLevel) return false;
      if (Attr4UnlockLevel != other.Attr4UnlockLevel) return false;
      if (ProvideExp != other.ProvideExp) return false;
      if (Icon != other.Icon) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (EquipmentType != 0) hash ^= EquipmentType.GetHashCode();
      if (AttrGroupId != 0) hash ^= AttrGroupId.GetHashCode();
      if (ExpGroupId != 0) hash ^= ExpGroupId.GetHashCode();
      if (MaxLevel != 0) hash ^= MaxLevel.GetHashCode();
      if (RandomAttrCount != 0) hash ^= RandomAttrCount.GetHashCode();
      if (Attr1UnlockLevel != 0) hash ^= Attr1UnlockLevel.GetHashCode();
      if (Attr2UnlockLevel != 0) hash ^= Attr2UnlockLevel.GetHashCode();
      if (Attr3UnlockLevel != 0) hash ^= Attr3UnlockLevel.GetHashCode();
      if (Attr4UnlockLevel != 0) hash ^= Attr4UnlockLevel.GetHashCode();
      if (ProvideExp != 0) hash ^= ProvideExp.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (EquipmentType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(EquipmentType);
      }
      if (AttrGroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AttrGroupId);
      }
      if (ExpGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ExpGroupId);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MaxLevel);
      }
      if (RandomAttrCount != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RandomAttrCount);
      }
      if (Attr1UnlockLevel != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Attr1UnlockLevel);
      }
      if (Attr2UnlockLevel != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Attr2UnlockLevel);
      }
      if (Attr3UnlockLevel != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Attr3UnlockLevel);
      }
      if (Attr4UnlockLevel != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Attr4UnlockLevel);
      }
      if (ProvideExp != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ProvideExp);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Icon);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (EquipmentType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(EquipmentType);
      }
      if (AttrGroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AttrGroupId);
      }
      if (ExpGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ExpGroupId);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MaxLevel);
      }
      if (RandomAttrCount != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RandomAttrCount);
      }
      if (Attr1UnlockLevel != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Attr1UnlockLevel);
      }
      if (Attr2UnlockLevel != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Attr2UnlockLevel);
      }
      if (Attr3UnlockLevel != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Attr3UnlockLevel);
      }
      if (Attr4UnlockLevel != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Attr4UnlockLevel);
      }
      if (ProvideExp != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ProvideExp);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Icon);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (EquipmentType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EquipmentType);
      }
      if (AttrGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrGroupId);
      }
      if (ExpGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExpGroupId);
      }
      if (MaxLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxLevel);
      }
      if (RandomAttrCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RandomAttrCount);
      }
      if (Attr1UnlockLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Attr1UnlockLevel);
      }
      if (Attr2UnlockLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Attr2UnlockLevel);
      }
      if (Attr3UnlockLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Attr3UnlockLevel);
      }
      if (Attr4UnlockLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Attr4UnlockLevel);
      }
      if (ProvideExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ProvideExp);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Equipment other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.EquipmentType != 0) {
        EquipmentType = other.EquipmentType;
      }
      if (other.AttrGroupId != 0) {
        AttrGroupId = other.AttrGroupId;
      }
      if (other.ExpGroupId != 0) {
        ExpGroupId = other.ExpGroupId;
      }
      if (other.MaxLevel != 0) {
        MaxLevel = other.MaxLevel;
      }
      if (other.RandomAttrCount != 0) {
        RandomAttrCount = other.RandomAttrCount;
      }
      if (other.Attr1UnlockLevel != 0) {
        Attr1UnlockLevel = other.Attr1UnlockLevel;
      }
      if (other.Attr2UnlockLevel != 0) {
        Attr2UnlockLevel = other.Attr2UnlockLevel;
      }
      if (other.Attr3UnlockLevel != 0) {
        Attr3UnlockLevel = other.Attr3UnlockLevel;
      }
      if (other.Attr4UnlockLevel != 0) {
        Attr4UnlockLevel = other.Attr4UnlockLevel;
      }
      if (other.ProvideExp != 0) {
        ProvideExp = other.ProvideExp;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            EquipmentType = input.ReadInt32();
            break;
          }
          case 32: {
            AttrGroupId = input.ReadInt32();
            break;
          }
          case 40: {
            ExpGroupId = input.ReadInt32();
            break;
          }
          case 48: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 56: {
            RandomAttrCount = input.ReadInt32();
            break;
          }
          case 64: {
            Attr1UnlockLevel = input.ReadInt32();
            break;
          }
          case 72: {
            Attr2UnlockLevel = input.ReadInt32();
            break;
          }
          case 80: {
            Attr3UnlockLevel = input.ReadInt32();
            break;
          }
          case 88: {
            Attr4UnlockLevel = input.ReadInt32();
            break;
          }
          case 96: {
            ProvideExp = input.ReadInt32();
            break;
          }
          case 106: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            EquipmentType = input.ReadInt32();
            break;
          }
          case 32: {
            AttrGroupId = input.ReadInt32();
            break;
          }
          case 40: {
            ExpGroupId = input.ReadInt32();
            break;
          }
          case 48: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 56: {
            RandomAttrCount = input.ReadInt32();
            break;
          }
          case 64: {
            Attr1UnlockLevel = input.ReadInt32();
            break;
          }
          case 72: {
            Attr2UnlockLevel = input.ReadInt32();
            break;
          }
          case 80: {
            Attr3UnlockLevel = input.ReadInt32();
            break;
          }
          case 88: {
            Attr4UnlockLevel = input.ReadInt32();
            break;
          }
          case 96: {
            ProvideExp = input.ReadInt32();
            break;
          }
          case 106: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Equipment : pb::IMessage<table_Equipment>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Equipment> _parser = new pb::MessageParser<table_Equipment>(() => new table_Equipment());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Equipment> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[163]; }
    }

    [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 table_Equipment() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Equipment(table_Equipment other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Equipment Clone() {
      return new table_Equipment(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Equipment> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Equipment.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Equipment> list_ = new pbc::RepeatedField<global::Nova.Client.Equipment>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Equipment> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Equipment);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Equipment other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Equipment other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EquipmentGroupExp : pb::IMessage<EquipmentGroupExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EquipmentGroupExp> _parser = new pb::MessageParser<EquipmentGroupExp>(() => new EquipmentGroupExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EquipmentGroupExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[164]; }
    }

    [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 EquipmentGroupExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentGroupExp(EquipmentGroupExp other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      level_ = other.level_;
      needExp_ = other.needExp_;
      totalExp_ = other.totalExp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentGroupExp Clone() {
      return new EquipmentGroupExp(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 3;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "NeedExp" field.</summary>
    public const int NeedExpFieldNumber = 4;
    private int needExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedExp {
      get { return needExp_; }
      set {
        needExp_ = value;
      }
    }

    /// <summary>Field number for the "TotalExp" field.</summary>
    public const int TotalExpFieldNumber = 5;
    private int totalExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TotalExp {
      get { return totalExp_; }
      set {
        totalExp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EquipmentGroupExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EquipmentGroupExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Level != other.Level) return false;
      if (NeedExp != other.NeedExp) return false;
      if (TotalExp != other.TotalExp) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (NeedExp != 0) hash ^= NeedExp.GetHashCode();
      if (TotalExp != 0) hash ^= TotalExp.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (NeedExp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NeedExp);
      }
      if (TotalExp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TotalExp);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (NeedExp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NeedExp);
      }
      if (TotalExp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TotalExp);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (NeedExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedExp);
      }
      if (TotalExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TotalExp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EquipmentGroupExp other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.NeedExp != 0) {
        NeedExp = other.NeedExp;
      }
      if (other.TotalExp != 0) {
        TotalExp = other.TotalExp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            NeedExp = input.ReadInt32();
            break;
          }
          case 40: {
            TotalExp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            NeedExp = input.ReadInt32();
            break;
          }
          case 40: {
            TotalExp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EquipmentGroupExp : pb::IMessage<table_EquipmentGroupExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EquipmentGroupExp> _parser = new pb::MessageParser<table_EquipmentGroupExp>(() => new table_EquipmentGroupExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EquipmentGroupExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[165]; }
    }

    [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 table_EquipmentGroupExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentGroupExp(table_EquipmentGroupExp other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentGroupExp Clone() {
      return new table_EquipmentGroupExp(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EquipmentGroupExp> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EquipmentGroupExp.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EquipmentGroupExp> list_ = new pbc::RepeatedField<global::Nova.Client.EquipmentGroupExp>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EquipmentGroupExp> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EquipmentGroupExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EquipmentGroupExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EquipmentGroupExp other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EquipmentInstance : pb::IMessage<EquipmentInstance>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EquipmentInstance> _parser = new pb::MessageParser<EquipmentInstance>(() => new EquipmentInstance());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EquipmentInstance> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[166]; }
    }

    [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 EquipmentInstance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentInstance(EquipmentInstance other) : this() {
      id_ = other.id_;
      equipmentType_ = other.equipmentType_;
      difficulty_ = other.difficulty_;
      name_ = other.name_;
      desc_ = other.desc_;
      suggestedPower_ = other.suggestedPower_;
      preLevelId_ = other.preLevelId_;
      preLevelStar_ = other.preLevelStar_;
      needWorldClass_ = other.needWorldClass_;
      floorId_ = other.floorId_;
      oneStarDesc_ = other.oneStarDesc_;
      twoStarDesc_ = other.twoStarDesc_;
      threeStarDesc_ = other.threeStarDesc_;
      oneStarEnergyConsume_ = other.oneStarEnergyConsume_;
      twoStarEnergyConsume_ = other.twoStarEnergyConsume_;
      threeStarEnergyConsume_ = other.threeStarEnergyConsume_;
      baseAwardPreview_ = other.baseAwardPreview_;
      previewMonsterGroupId_ = other.previewMonsterGroupId_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentInstance Clone() {
      return new EquipmentInstance(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "EquipmentType" field.</summary>
    public const int EquipmentTypeFieldNumber = 2;
    private int equipmentType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EquipmentType {
      get { return equipmentType_; }
      set {
        equipmentType_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 3;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 5;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SuggestedPower" field.</summary>
    public const int SuggestedPowerFieldNumber = 6;
    private int suggestedPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SuggestedPower {
      get { return suggestedPower_; }
      set {
        suggestedPower_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelId" field.</summary>
    public const int PreLevelIdFieldNumber = 7;
    private int preLevelId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelId {
      get { return preLevelId_; }
      set {
        preLevelId_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelStar" field.</summary>
    public const int PreLevelStarFieldNumber = 8;
    private int preLevelStar_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelStar {
      get { return preLevelStar_; }
      set {
        preLevelStar_ = value;
      }
    }

    /// <summary>Field number for the "NeedWorldClass" field.</summary>
    public const int NeedWorldClassFieldNumber = 9;
    private int needWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedWorldClass {
      get { return needWorldClass_; }
      set {
        needWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 10;
    private int floorId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FloorId {
      get { return floorId_; }
      set {
        floorId_ = value;
      }
    }

    /// <summary>Field number for the "OneStarDesc" field.</summary>
    public const int OneStarDescFieldNumber = 11;
    private string oneStarDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OneStarDesc {
      get { return oneStarDesc_; }
      set {
        oneStarDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TwoStarDesc" field.</summary>
    public const int TwoStarDescFieldNumber = 12;
    private string twoStarDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TwoStarDesc {
      get { return twoStarDesc_; }
      set {
        twoStarDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ThreeStarDesc" field.</summary>
    public const int ThreeStarDescFieldNumber = 13;
    private string threeStarDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ThreeStarDesc {
      get { return threeStarDesc_; }
      set {
        threeStarDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OneStarEnergyConsume" field.</summary>
    public const int OneStarEnergyConsumeFieldNumber = 14;
    private int oneStarEnergyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OneStarEnergyConsume {
      get { return oneStarEnergyConsume_; }
      set {
        oneStarEnergyConsume_ = value;
      }
    }

    /// <summary>Field number for the "TwoStarEnergyConsume" field.</summary>
    public const int TwoStarEnergyConsumeFieldNumber = 15;
    private int twoStarEnergyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TwoStarEnergyConsume {
      get { return twoStarEnergyConsume_; }
      set {
        twoStarEnergyConsume_ = value;
      }
    }

    /// <summary>Field number for the "ThreeStarEnergyConsume" field.</summary>
    public const int ThreeStarEnergyConsumeFieldNumber = 16;
    private int threeStarEnergyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThreeStarEnergyConsume {
      get { return threeStarEnergyConsume_; }
      set {
        threeStarEnergyConsume_ = value;
      }
    }

    /// <summary>Field number for the "BaseAwardPreview" field.</summary>
    public const int BaseAwardPreviewFieldNumber = 17;
    private string baseAwardPreview_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BaseAwardPreview {
      get { return baseAwardPreview_; }
      set {
        baseAwardPreview_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PreviewMonsterGroupId" field.</summary>
    public const int PreviewMonsterGroupIdFieldNumber = 18;
    private int previewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterGroupId {
      get { return previewMonsterGroupId_; }
      set {
        previewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 19;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 EquipmentInstance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EquipmentInstance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (EquipmentType != other.EquipmentType) return false;
      if (Difficulty != other.Difficulty) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (SuggestedPower != other.SuggestedPower) return false;
      if (PreLevelId != other.PreLevelId) return false;
      if (PreLevelStar != other.PreLevelStar) return false;
      if (NeedWorldClass != other.NeedWorldClass) return false;
      if (FloorId != other.FloorId) return false;
      if (OneStarDesc != other.OneStarDesc) return false;
      if (TwoStarDesc != other.TwoStarDesc) return false;
      if (ThreeStarDesc != other.ThreeStarDesc) return false;
      if (OneStarEnergyConsume != other.OneStarEnergyConsume) return false;
      if (TwoStarEnergyConsume != other.TwoStarEnergyConsume) return false;
      if (ThreeStarEnergyConsume != other.ThreeStarEnergyConsume) return false;
      if (BaseAwardPreview != other.BaseAwardPreview) return false;
      if (PreviewMonsterGroupId != other.PreviewMonsterGroupId) return false;
      if (Icon != other.Icon) 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 (EquipmentType != 0) hash ^= EquipmentType.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (SuggestedPower != 0) hash ^= SuggestedPower.GetHashCode();
      if (PreLevelId != 0) hash ^= PreLevelId.GetHashCode();
      if (PreLevelStar != 0) hash ^= PreLevelStar.GetHashCode();
      if (NeedWorldClass != 0) hash ^= NeedWorldClass.GetHashCode();
      if (FloorId != 0) hash ^= FloorId.GetHashCode();
      if (OneStarDesc.Length != 0) hash ^= OneStarDesc.GetHashCode();
      if (TwoStarDesc.Length != 0) hash ^= TwoStarDesc.GetHashCode();
      if (ThreeStarDesc.Length != 0) hash ^= ThreeStarDesc.GetHashCode();
      if (OneStarEnergyConsume != 0) hash ^= OneStarEnergyConsume.GetHashCode();
      if (TwoStarEnergyConsume != 0) hash ^= TwoStarEnergyConsume.GetHashCode();
      if (ThreeStarEnergyConsume != 0) hash ^= ThreeStarEnergyConsume.GetHashCode();
      if (BaseAwardPreview.Length != 0) hash ^= BaseAwardPreview.GetHashCode();
      if (PreviewMonsterGroupId != 0) hash ^= PreviewMonsterGroupId.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.WriteInt32(Id);
      }
      if (EquipmentType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(EquipmentType);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PreLevelId);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NeedWorldClass);
      }
      if (FloorId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FloorId);
      }
      if (OneStarDesc.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(OneStarDesc);
      }
      if (TwoStarDesc.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(TwoStarDesc);
      }
      if (ThreeStarDesc.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ThreeStarDesc);
      }
      if (OneStarEnergyConsume != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(OneStarEnergyConsume);
      }
      if (TwoStarEnergyConsume != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TwoStarEnergyConsume);
      }
      if (ThreeStarEnergyConsume != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ThreeStarEnergyConsume);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(BaseAwardPreview);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Icon);
      }
      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.WriteInt32(Id);
      }
      if (EquipmentType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(EquipmentType);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PreLevelId);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NeedWorldClass);
      }
      if (FloorId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FloorId);
      }
      if (OneStarDesc.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(OneStarDesc);
      }
      if (TwoStarDesc.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(TwoStarDesc);
      }
      if (ThreeStarDesc.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ThreeStarDesc);
      }
      if (OneStarEnergyConsume != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(OneStarEnergyConsume);
      }
      if (TwoStarEnergyConsume != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TwoStarEnergyConsume);
      }
      if (ThreeStarEnergyConsume != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ThreeStarEnergyConsume);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(BaseAwardPreview);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Icon);
      }
      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.ComputeInt32Size(Id);
      }
      if (EquipmentType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EquipmentType);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (SuggestedPower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SuggestedPower);
      }
      if (PreLevelId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelId);
      }
      if (PreLevelStar != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedWorldClass);
      }
      if (FloorId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FloorId);
      }
      if (OneStarDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OneStarDesc);
      }
      if (TwoStarDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TwoStarDesc);
      }
      if (ThreeStarDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ThreeStarDesc);
      }
      if (OneStarEnergyConsume != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneStarEnergyConsume);
      }
      if (TwoStarEnergyConsume != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TwoStarEnergyConsume);
      }
      if (ThreeStarEnergyConsume != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ThreeStarEnergyConsume);
      }
      if (BaseAwardPreview.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BaseAwardPreview);
      }
      if (PreviewMonsterGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterGroupId);
      }
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EquipmentInstance other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.EquipmentType != 0) {
        EquipmentType = other.EquipmentType;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.SuggestedPower != 0) {
        SuggestedPower = other.SuggestedPower;
      }
      if (other.PreLevelId != 0) {
        PreLevelId = other.PreLevelId;
      }
      if (other.PreLevelStar != 0) {
        PreLevelStar = other.PreLevelStar;
      }
      if (other.NeedWorldClass != 0) {
        NeedWorldClass = other.NeedWorldClass;
      }
      if (other.FloorId != 0) {
        FloorId = other.FloorId;
      }
      if (other.OneStarDesc.Length != 0) {
        OneStarDesc = other.OneStarDesc;
      }
      if (other.TwoStarDesc.Length != 0) {
        TwoStarDesc = other.TwoStarDesc;
      }
      if (other.ThreeStarDesc.Length != 0) {
        ThreeStarDesc = other.ThreeStarDesc;
      }
      if (other.OneStarEnergyConsume != 0) {
        OneStarEnergyConsume = other.OneStarEnergyConsume;
      }
      if (other.TwoStarEnergyConsume != 0) {
        TwoStarEnergyConsume = other.TwoStarEnergyConsume;
      }
      if (other.ThreeStarEnergyConsume != 0) {
        ThreeStarEnergyConsume = other.ThreeStarEnergyConsume;
      }
      if (other.BaseAwardPreview.Length != 0) {
        BaseAwardPreview = other.BaseAwardPreview;
      }
      if (other.PreviewMonsterGroupId != 0) {
        PreviewMonsterGroupId = other.PreviewMonsterGroupId;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            EquipmentType = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 64: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 72: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 80: {
            FloorId = input.ReadInt32();
            break;
          }
          case 90: {
            OneStarDesc = input.ReadString();
            break;
          }
          case 98: {
            TwoStarDesc = input.ReadString();
            break;
          }
          case 106: {
            ThreeStarDesc = input.ReadString();
            break;
          }
          case 112: {
            OneStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 120: {
            TwoStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 128: {
            ThreeStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 138: {
            BaseAwardPreview = input.ReadString();
            break;
          }
          case 144: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 154: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            EquipmentType = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 64: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 72: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 80: {
            FloorId = input.ReadInt32();
            break;
          }
          case 90: {
            OneStarDesc = input.ReadString();
            break;
          }
          case 98: {
            TwoStarDesc = input.ReadString();
            break;
          }
          case 106: {
            ThreeStarDesc = input.ReadString();
            break;
          }
          case 112: {
            OneStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 120: {
            TwoStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 128: {
            ThreeStarEnergyConsume = input.ReadInt32();
            break;
          }
          case 138: {
            BaseAwardPreview = input.ReadString();
            break;
          }
          case 144: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 154: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EquipmentInstance : pb::IMessage<table_EquipmentInstance>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EquipmentInstance> _parser = new pb::MessageParser<table_EquipmentInstance>(() => new table_EquipmentInstance());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EquipmentInstance> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[167]; }
    }

    [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 table_EquipmentInstance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentInstance(table_EquipmentInstance other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentInstance Clone() {
      return new table_EquipmentInstance(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EquipmentInstance> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EquipmentInstance.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EquipmentInstance> list_ = new pbc::RepeatedField<global::Nova.Client.EquipmentInstance>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EquipmentInstance> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EquipmentInstance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EquipmentInstance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EquipmentInstance other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EquipmentInstanceFloor : pb::IMessage<EquipmentInstanceFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EquipmentInstanceFloor> _parser = new pb::MessageParser<EquipmentInstanceFloor>(() => new EquipmentInstanceFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EquipmentInstanceFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[168]; }
    }

    [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 EquipmentInstanceFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentInstanceFloor(EquipmentInstanceFloor other) : this() {
      id_ = other.id_;
      sceneName_ = other.sceneName_;
      configPrefabName_ = other.configPrefabName_;
      theme_ = other.theme_;
      bGM_ = other.bGM_;
      leaveTriggerEvent_ = other.leaveTriggerEvent_;
      monsterId_ = other.monsterId_;
      oneStarCondition_ = other.oneStarCondition_;
      twoStarCondition_ = other.twoStarCondition_;
      threeStarCondition_ = other.threeStarCondition_;
      levelTotalTime_ = other.levelTotalTime_;
      timeEndSettlement_ = other.timeEndSettlement_;
      starConditionType_ = other.starConditionType_;
      monsterLv_ = other.monsterLv_;
      dropObjectGroupId_ = other.dropObjectGroupId_;
      dropObjectRate_ = other.dropObjectRate_;
      dropMaxNum_ = other.dropMaxNum_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentInstanceFloor Clone() {
      return new EquipmentInstanceFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 2;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfigPrefabName" field.</summary>
    public const int ConfigPrefabNameFieldNumber = 3;
    private string configPrefabName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigPrefabName {
      get { return configPrefabName_; }
      set {
        configPrefabName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 5;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LeaveTriggerEvent" field.</summary>
    public const int LeaveTriggerEventFieldNumber = 6;
    private string leaveTriggerEvent_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LeaveTriggerEvent {
      get { return leaveTriggerEvent_; }
      set {
        leaveTriggerEvent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "monsterId" field.</summary>
    public const int MonsterIdFieldNumber = 7;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "OneStarCondition" field.</summary>
    public const int OneStarConditionFieldNumber = 8;
    private int oneStarCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OneStarCondition {
      get { return oneStarCondition_; }
      set {
        oneStarCondition_ = value;
      }
    }

    /// <summary>Field number for the "TwoStarCondition" field.</summary>
    public const int TwoStarConditionFieldNumber = 9;
    private int twoStarCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TwoStarCondition {
      get { return twoStarCondition_; }
      set {
        twoStarCondition_ = value;
      }
    }

    /// <summary>Field number for the "ThreeStarCondition" field.</summary>
    public const int ThreeStarConditionFieldNumber = 10;
    private int threeStarCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThreeStarCondition {
      get { return threeStarCondition_; }
      set {
        threeStarCondition_ = value;
      }
    }

    /// <summary>Field number for the "LevelTotalTime" field.</summary>
    public const int LevelTotalTimeFieldNumber = 11;
    private int levelTotalTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelTotalTime {
      get { return levelTotalTime_; }
      set {
        levelTotalTime_ = value;
      }
    }

    /// <summary>Field number for the "TimeEndSettlement" field.</summary>
    public const int TimeEndSettlementFieldNumber = 12;
    private bool timeEndSettlement_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool TimeEndSettlement {
      get { return timeEndSettlement_; }
      set {
        timeEndSettlement_ = value;
      }
    }

    /// <summary>Field number for the "StarConditionType" field.</summary>
    public const int StarConditionTypeFieldNumber = 13;
    private int starConditionType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StarConditionType {
      get { return starConditionType_; }
      set {
        starConditionType_ = value;
      }
    }

    /// <summary>Field number for the "MonsterLv" field.</summary>
    public const int MonsterLvFieldNumber = 14;
    private int monsterLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLv {
      get { return monsterLv_; }
      set {
        monsterLv_ = value;
      }
    }

    /// <summary>Field number for the "DropObjectGroupId" field.</summary>
    public const int DropObjectGroupIdFieldNumber = 15;
    private int dropObjectGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropObjectGroupId {
      get { return dropObjectGroupId_; }
      set {
        dropObjectGroupId_ = value;
      }
    }

    /// <summary>Field number for the "DropObjectRate" field.</summary>
    public const int DropObjectRateFieldNumber = 16;
    private int dropObjectRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropObjectRate {
      get { return dropObjectRate_; }
      set {
        dropObjectRate_ = value;
      }
    }

    /// <summary>Field number for the "DropMaxNum" field.</summary>
    public const int DropMaxNumFieldNumber = 17;
    private int dropMaxNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropMaxNum {
      get { return dropMaxNum_; }
      set {
        dropMaxNum_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EquipmentInstanceFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EquipmentInstanceFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneName != other.SceneName) return false;
      if (ConfigPrefabName != other.ConfigPrefabName) return false;
      if (Theme != other.Theme) return false;
      if (BGM != other.BGM) return false;
      if (LeaveTriggerEvent != other.LeaveTriggerEvent) return false;
      if (MonsterId != other.MonsterId) return false;
      if (OneStarCondition != other.OneStarCondition) return false;
      if (TwoStarCondition != other.TwoStarCondition) return false;
      if (ThreeStarCondition != other.ThreeStarCondition) return false;
      if (LevelTotalTime != other.LevelTotalTime) return false;
      if (TimeEndSettlement != other.TimeEndSettlement) return false;
      if (StarConditionType != other.StarConditionType) return false;
      if (MonsterLv != other.MonsterLv) return false;
      if (DropObjectGroupId != other.DropObjectGroupId) return false;
      if (DropObjectRate != other.DropObjectRate) return false;
      if (DropMaxNum != other.DropMaxNum) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (ConfigPrefabName.Length != 0) hash ^= ConfigPrefabName.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.GetHashCode();
      if (LeaveTriggerEvent.Length != 0) hash ^= LeaveTriggerEvent.GetHashCode();
      if (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (OneStarCondition != 0) hash ^= OneStarCondition.GetHashCode();
      if (TwoStarCondition != 0) hash ^= TwoStarCondition.GetHashCode();
      if (ThreeStarCondition != 0) hash ^= ThreeStarCondition.GetHashCode();
      if (LevelTotalTime != 0) hash ^= LevelTotalTime.GetHashCode();
      if (TimeEndSettlement != false) hash ^= TimeEndSettlement.GetHashCode();
      if (StarConditionType != 0) hash ^= StarConditionType.GetHashCode();
      if (MonsterLv != 0) hash ^= MonsterLv.GetHashCode();
      if (DropObjectGroupId != 0) hash ^= DropObjectGroupId.GetHashCode();
      if (DropObjectRate != 0) hash ^= DropObjectRate.GetHashCode();
      if (DropMaxNum != 0) hash ^= DropMaxNum.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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterId);
      }
      if (OneStarCondition != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(OneStarCondition);
      }
      if (TwoStarCondition != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TwoStarCondition);
      }
      if (ThreeStarCondition != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ThreeStarCondition);
      }
      if (LevelTotalTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LevelTotalTime);
      }
      if (TimeEndSettlement != false) {
        output.WriteRawTag(96);
        output.WriteBool(TimeEndSettlement);
      }
      if (StarConditionType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(StarConditionType);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(MonsterLv);
      }
      if (DropObjectGroupId != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(DropObjectGroupId);
      }
      if (DropObjectRate != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(DropObjectRate);
      }
      if (DropMaxNum != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(DropMaxNum);
      }
      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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterId);
      }
      if (OneStarCondition != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(OneStarCondition);
      }
      if (TwoStarCondition != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TwoStarCondition);
      }
      if (ThreeStarCondition != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ThreeStarCondition);
      }
      if (LevelTotalTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(LevelTotalTime);
      }
      if (TimeEndSettlement != false) {
        output.WriteRawTag(96);
        output.WriteBool(TimeEndSettlement);
      }
      if (StarConditionType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(StarConditionType);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(MonsterLv);
      }
      if (DropObjectGroupId != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(DropObjectGroupId);
      }
      if (DropObjectRate != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(DropObjectRate);
      }
      if (DropMaxNum != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(DropMaxNum);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigPrefabName);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LeaveTriggerEvent);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (OneStarCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OneStarCondition);
      }
      if (TwoStarCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TwoStarCondition);
      }
      if (ThreeStarCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ThreeStarCondition);
      }
      if (LevelTotalTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTotalTime);
      }
      if (TimeEndSettlement != false) {
        size += 1 + 1;
      }
      if (StarConditionType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StarConditionType);
      }
      if (MonsterLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLv);
      }
      if (DropObjectGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropObjectGroupId);
      }
      if (DropObjectRate != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DropObjectRate);
      }
      if (DropMaxNum != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DropMaxNum);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EquipmentInstanceFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.ConfigPrefabName.Length != 0) {
        ConfigPrefabName = other.ConfigPrefabName;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      if (other.LeaveTriggerEvent.Length != 0) {
        LeaveTriggerEvent = other.LeaveTriggerEvent;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.OneStarCondition != 0) {
        OneStarCondition = other.OneStarCondition;
      }
      if (other.TwoStarCondition != 0) {
        TwoStarCondition = other.TwoStarCondition;
      }
      if (other.ThreeStarCondition != 0) {
        ThreeStarCondition = other.ThreeStarCondition;
      }
      if (other.LevelTotalTime != 0) {
        LevelTotalTime = other.LevelTotalTime;
      }
      if (other.TimeEndSettlement != false) {
        TimeEndSettlement = other.TimeEndSettlement;
      }
      if (other.StarConditionType != 0) {
        StarConditionType = other.StarConditionType;
      }
      if (other.MonsterLv != 0) {
        MonsterLv = other.MonsterLv;
      }
      if (other.DropObjectGroupId != 0) {
        DropObjectGroupId = other.DropObjectGroupId;
      }
      if (other.DropObjectRate != 0) {
        DropObjectRate = other.DropObjectRate;
      }
      if (other.DropMaxNum != 0) {
        DropMaxNum = other.DropMaxNum;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 64: {
            OneStarCondition = input.ReadInt32();
            break;
          }
          case 72: {
            TwoStarCondition = input.ReadInt32();
            break;
          }
          case 80: {
            ThreeStarCondition = input.ReadInt32();
            break;
          }
          case 88: {
            LevelTotalTime = input.ReadInt32();
            break;
          }
          case 96: {
            TimeEndSettlement = input.ReadBool();
            break;
          }
          case 104: {
            StarConditionType = input.ReadInt32();
            break;
          }
          case 112: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 120: {
            DropObjectGroupId = input.ReadInt32();
            break;
          }
          case 128: {
            DropObjectRate = input.ReadInt32();
            break;
          }
          case 136: {
            DropMaxNum = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 64: {
            OneStarCondition = input.ReadInt32();
            break;
          }
          case 72: {
            TwoStarCondition = input.ReadInt32();
            break;
          }
          case 80: {
            ThreeStarCondition = input.ReadInt32();
            break;
          }
          case 88: {
            LevelTotalTime = input.ReadInt32();
            break;
          }
          case 96: {
            TimeEndSettlement = input.ReadBool();
            break;
          }
          case 104: {
            StarConditionType = input.ReadInt32();
            break;
          }
          case 112: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 120: {
            DropObjectGroupId = input.ReadInt32();
            break;
          }
          case 128: {
            DropObjectRate = input.ReadInt32();
            break;
          }
          case 136: {
            DropMaxNum = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EquipmentInstanceFloor : pb::IMessage<table_EquipmentInstanceFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EquipmentInstanceFloor> _parser = new pb::MessageParser<table_EquipmentInstanceFloor>(() => new table_EquipmentInstanceFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EquipmentInstanceFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[169]; }
    }

    [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 table_EquipmentInstanceFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentInstanceFloor(table_EquipmentInstanceFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentInstanceFloor Clone() {
      return new table_EquipmentInstanceFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EquipmentInstanceFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EquipmentInstanceFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EquipmentInstanceFloor> list_ = new pbc::RepeatedField<global::Nova.Client.EquipmentInstanceFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EquipmentInstanceFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EquipmentInstanceFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EquipmentInstanceFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EquipmentInstanceFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EquipmentInstanceType : pb::IMessage<EquipmentInstanceType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EquipmentInstanceType> _parser = new pb::MessageParser<EquipmentInstanceType>(() => new EquipmentInstanceType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EquipmentInstanceType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[170]; }
    }

    [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 EquipmentInstanceType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentInstanceType(EquipmentInstanceType other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      mainLineId_ = other.mainLineId_;
      worldClassLevel_ = other.worldClassLevel_;
      openDay_ = other.openDay_.Clone();
      openDayDesc_ = other.openDayDesc_;
      episode_ = other.episode_;
      image_ = other.image_;
      sort_ = other.sort_;
      howReward_ = other.howReward_.Clone();
      eET_ = other.eET_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentInstanceType Clone() {
      return new EquipmentInstanceType(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MainLineId" field.</summary>
    public const int MainLineIdFieldNumber = 3;
    private int mainLineId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainLineId {
      get { return mainLineId_; }
      set {
        mainLineId_ = value;
      }
    }

    /// <summary>Field number for the "WorldClassLevel" field.</summary>
    public const int WorldClassLevelFieldNumber = 4;
    private int worldClassLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WorldClassLevel {
      get { return worldClassLevel_; }
      set {
        worldClassLevel_ = value;
      }
    }

    /// <summary>Field number for the "OpenDay" field.</summary>
    public const int OpenDayFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_openDay_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> openDay_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> OpenDay {
      get { return openDay_; }
    }

    /// <summary>Field number for the "OpenDayDesc" field.</summary>
    public const int OpenDayDescFieldNumber = 6;
    private string openDayDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OpenDayDesc {
      get { return openDayDesc_; }
      set {
        openDayDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Episode" field.</summary>
    public const int EpisodeFieldNumber = 7;
    private string episode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode {
      get { return episode_; }
      set {
        episode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Image" field.</summary>
    public const int ImageFieldNumber = 8;
    private string image_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Image {
      get { return image_; }
      set {
        image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 9;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "HowReward" field.</summary>
    public const int HowRewardFieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_howReward_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> howReward_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> HowReward {
      get { return howReward_; }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_eET_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> eET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EET {
      get { return eET_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EquipmentInstanceType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EquipmentInstanceType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (MainLineId != other.MainLineId) return false;
      if (WorldClassLevel != other.WorldClassLevel) return false;
      if(!openDay_.Equals(other.openDay_)) return false;
      if (OpenDayDesc != other.OpenDayDesc) return false;
      if (Episode != other.Episode) return false;
      if (Image != other.Image) return false;
      if (Sort != other.Sort) return false;
      if(!howReward_.Equals(other.howReward_)) return false;
      if(!eET_.Equals(other.eET_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (MainLineId != 0) hash ^= MainLineId.GetHashCode();
      if (WorldClassLevel != 0) hash ^= WorldClassLevel.GetHashCode();
      hash ^= openDay_.GetHashCode();
      if (OpenDayDesc.Length != 0) hash ^= OpenDayDesc.GetHashCode();
      if (Episode.Length != 0) hash ^= Episode.GetHashCode();
      if (Image.Length != 0) hash ^= Image.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      hash ^= howReward_.GetHashCode();
      hash ^= eET_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (MainLineId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MainLineId);
      }
      if (WorldClassLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(WorldClassLevel);
      }
      openDay_.WriteTo(output, _repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(OpenDayDesc);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Image);
      }
      if (Sort != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Sort);
      }
      howReward_.WriteTo(output, _repeated_howReward_codec);
      eET_.WriteTo(output, _repeated_eET_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (MainLineId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MainLineId);
      }
      if (WorldClassLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(WorldClassLevel);
      }
      openDay_.WriteTo(ref output, _repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(OpenDayDesc);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Image);
      }
      if (Sort != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Sort);
      }
      howReward_.WriteTo(ref output, _repeated_howReward_codec);
      eET_.WriteTo(ref output, _repeated_eET_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (MainLineId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainLineId);
      }
      if (WorldClassLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClassLevel);
      }
      size += openDay_.CalculateSize(_repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OpenDayDesc);
      }
      if (Episode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Episode);
      }
      if (Image.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Image);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      size += howReward_.CalculateSize(_repeated_howReward_codec);
      size += eET_.CalculateSize(_repeated_eET_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EquipmentInstanceType other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.MainLineId != 0) {
        MainLineId = other.MainLineId;
      }
      if (other.WorldClassLevel != 0) {
        WorldClassLevel = other.WorldClassLevel;
      }
      openDay_.Add(other.openDay_);
      if (other.OpenDayDesc.Length != 0) {
        OpenDayDesc = other.OpenDayDesc;
      }
      if (other.Episode.Length != 0) {
        Episode = other.Episode;
      }
      if (other.Image.Length != 0) {
        Image = other.Image;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      howReward_.Add(other.howReward_);
      eET_.Add(other.eET_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            MainLineId = input.ReadInt32();
            break;
          }
          case 32: {
            WorldClassLevel = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            openDay_.AddEntriesFrom(input, _repeated_openDay_codec);
            break;
          }
          case 50: {
            OpenDayDesc = input.ReadString();
            break;
          }
          case 58: {
            Episode = input.ReadString();
            break;
          }
          case 66: {
            Image = input.ReadString();
            break;
          }
          case 72: {
            Sort = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            howReward_.AddEntriesFrom(input, _repeated_howReward_codec);
            break;
          }
          case 90:
          case 88: {
            eET_.AddEntriesFrom(input, _repeated_eET_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            MainLineId = input.ReadInt32();
            break;
          }
          case 32: {
            WorldClassLevel = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            openDay_.AddEntriesFrom(ref input, _repeated_openDay_codec);
            break;
          }
          case 50: {
            OpenDayDesc = input.ReadString();
            break;
          }
          case 58: {
            Episode = input.ReadString();
            break;
          }
          case 66: {
            Image = input.ReadString();
            break;
          }
          case 72: {
            Sort = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            howReward_.AddEntriesFrom(ref input, _repeated_howReward_codec);
            break;
          }
          case 90:
          case 88: {
            eET_.AddEntriesFrom(ref input, _repeated_eET_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EquipmentInstanceType : pb::IMessage<table_EquipmentInstanceType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EquipmentInstanceType> _parser = new pb::MessageParser<table_EquipmentInstanceType>(() => new table_EquipmentInstanceType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EquipmentInstanceType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[171]; }
    }

    [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 table_EquipmentInstanceType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentInstanceType(table_EquipmentInstanceType other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentInstanceType Clone() {
      return new table_EquipmentInstanceType(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EquipmentInstanceType> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EquipmentInstanceType.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EquipmentInstanceType> list_ = new pbc::RepeatedField<global::Nova.Client.EquipmentInstanceType>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EquipmentInstanceType> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EquipmentInstanceType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EquipmentInstanceType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EquipmentInstanceType other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EquipmentItemExp : pb::IMessage<EquipmentItemExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EquipmentItemExp> _parser = new pb::MessageParser<EquipmentItemExp>(() => new EquipmentItemExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EquipmentItemExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[172]; }
    }

    [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 EquipmentItemExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentItemExp(EquipmentItemExp other) : this() {
      id_ = other.id_;
      itemId_ = other.itemId_;
      exp_ = other.exp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentItemExp Clone() {
      return new EquipmentItemExp(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 2;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "Exp" field.</summary>
    public const int ExpFieldNumber = 3;
    private int exp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Exp {
      get { return exp_; }
      set {
        exp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EquipmentItemExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EquipmentItemExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ItemId != other.ItemId) return false;
      if (Exp != other.Exp) 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 (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (Exp != 0) hash ^= Exp.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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (Exp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Exp);
      }
      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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (Exp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Exp);
      }
      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.ComputeInt32Size(Id);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EquipmentItemExp other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EquipmentItemExp : pb::IMessage<table_EquipmentItemExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EquipmentItemExp> _parser = new pb::MessageParser<table_EquipmentItemExp>(() => new table_EquipmentItemExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EquipmentItemExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[173]; }
    }

    [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 table_EquipmentItemExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentItemExp(table_EquipmentItemExp other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentItemExp Clone() {
      return new table_EquipmentItemExp(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EquipmentItemExp> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EquipmentItemExp.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EquipmentItemExp> list_ = new pbc::RepeatedField<global::Nova.Client.EquipmentItemExp>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EquipmentItemExp> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EquipmentItemExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EquipmentItemExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EquipmentItemExp other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EquipmentRandomAttribute : pb::IMessage<EquipmentRandomAttribute>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EquipmentRandomAttribute> _parser = new pb::MessageParser<EquipmentRandomAttribute>(() => new EquipmentRandomAttribute());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EquipmentRandomAttribute> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[174]; }
    }

    [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 EquipmentRandomAttribute() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentRandomAttribute(EquipmentRandomAttribute other) : this() {
      id_ = other.id_;
      elementType_ = other.elementType_;
      attrGroupType_ = other.attrGroupType_;
      attrValueId_ = other.attrValueId_;
      attrType_ = other.attrType_;
      attrTypeFirstSubtype_ = other.attrTypeFirstSubtype_;
      attrTypeSecondSubtype_ = other.attrTypeSecondSubtype_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EquipmentRandomAttribute Clone() {
      return new EquipmentRandomAttribute(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ElementType" field.</summary>
    public const int ElementTypeFieldNumber = 2;
    private int elementType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ElementType {
      get { return elementType_; }
      set {
        elementType_ = value;
      }
    }

    /// <summary>Field number for the "AttrGroupType" field.</summary>
    public const int AttrGroupTypeFieldNumber = 3;
    private int attrGroupType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttrGroupType {
      get { return attrGroupType_; }
      set {
        attrGroupType_ = value;
      }
    }

    /// <summary>Field number for the "AttrValueId" field.</summary>
    public const int AttrValueIdFieldNumber = 4;
    private int attrValueId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttrValueId {
      get { return attrValueId_; }
      set {
        attrValueId_ = value;
      }
    }

    /// <summary>Field number for the "AttrType" field.</summary>
    public const int AttrTypeFieldNumber = 5;
    private int attrType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttrType {
      get { return attrType_; }
      set {
        attrType_ = value;
      }
    }

    /// <summary>Field number for the "AttrTypeFirstSubtype" field.</summary>
    public const int AttrTypeFirstSubtypeFieldNumber = 6;
    private int attrTypeFirstSubtype_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttrTypeFirstSubtype {
      get { return attrTypeFirstSubtype_; }
      set {
        attrTypeFirstSubtype_ = value;
      }
    }

    /// <summary>Field number for the "AttrTypeSecondSubtype" field.</summary>
    public const int AttrTypeSecondSubtypeFieldNumber = 7;
    private int attrTypeSecondSubtype_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttrTypeSecondSubtype {
      get { return attrTypeSecondSubtype_; }
      set {
        attrTypeSecondSubtype_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EquipmentRandomAttribute);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EquipmentRandomAttribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ElementType != other.ElementType) return false;
      if (AttrGroupType != other.AttrGroupType) return false;
      if (AttrValueId != other.AttrValueId) return false;
      if (AttrType != other.AttrType) return false;
      if (AttrTypeFirstSubtype != other.AttrTypeFirstSubtype) return false;
      if (AttrTypeSecondSubtype != other.AttrTypeSecondSubtype) 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 (ElementType != 0) hash ^= ElementType.GetHashCode();
      if (AttrGroupType != 0) hash ^= AttrGroupType.GetHashCode();
      if (AttrValueId != 0) hash ^= AttrValueId.GetHashCode();
      if (AttrType != 0) hash ^= AttrType.GetHashCode();
      if (AttrTypeFirstSubtype != 0) hash ^= AttrTypeFirstSubtype.GetHashCode();
      if (AttrTypeSecondSubtype != 0) hash ^= AttrTypeSecondSubtype.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.WriteInt32(Id);
      }
      if (ElementType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ElementType);
      }
      if (AttrGroupType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AttrGroupType);
      }
      if (AttrValueId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AttrValueId);
      }
      if (AttrType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AttrType);
      }
      if (AttrTypeFirstSubtype != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AttrTypeFirstSubtype);
      }
      if (AttrTypeSecondSubtype != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(AttrTypeSecondSubtype);
      }
      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.WriteInt32(Id);
      }
      if (ElementType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ElementType);
      }
      if (AttrGroupType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AttrGroupType);
      }
      if (AttrValueId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AttrValueId);
      }
      if (AttrType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AttrType);
      }
      if (AttrTypeFirstSubtype != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AttrTypeFirstSubtype);
      }
      if (AttrTypeSecondSubtype != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(AttrTypeSecondSubtype);
      }
      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.ComputeInt32Size(Id);
      }
      if (ElementType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ElementType);
      }
      if (AttrGroupType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrGroupType);
      }
      if (AttrValueId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrValueId);
      }
      if (AttrType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrType);
      }
      if (AttrTypeFirstSubtype != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrTypeFirstSubtype);
      }
      if (AttrTypeSecondSubtype != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttrTypeSecondSubtype);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EquipmentRandomAttribute other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ElementType != 0) {
        ElementType = other.ElementType;
      }
      if (other.AttrGroupType != 0) {
        AttrGroupType = other.AttrGroupType;
      }
      if (other.AttrValueId != 0) {
        AttrValueId = other.AttrValueId;
      }
      if (other.AttrType != 0) {
        AttrType = other.AttrType;
      }
      if (other.AttrTypeFirstSubtype != 0) {
        AttrTypeFirstSubtype = other.AttrTypeFirstSubtype;
      }
      if (other.AttrTypeSecondSubtype != 0) {
        AttrTypeSecondSubtype = other.AttrTypeSecondSubtype;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ElementType = input.ReadInt32();
            break;
          }
          case 24: {
            AttrGroupType = input.ReadInt32();
            break;
          }
          case 32: {
            AttrValueId = input.ReadInt32();
            break;
          }
          case 40: {
            AttrType = input.ReadInt32();
            break;
          }
          case 48: {
            AttrTypeFirstSubtype = input.ReadInt32();
            break;
          }
          case 56: {
            AttrTypeSecondSubtype = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ElementType = input.ReadInt32();
            break;
          }
          case 24: {
            AttrGroupType = input.ReadInt32();
            break;
          }
          case 32: {
            AttrValueId = input.ReadInt32();
            break;
          }
          case 40: {
            AttrType = input.ReadInt32();
            break;
          }
          case 48: {
            AttrTypeFirstSubtype = input.ReadInt32();
            break;
          }
          case 56: {
            AttrTypeSecondSubtype = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EquipmentRandomAttribute : pb::IMessage<table_EquipmentRandomAttribute>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EquipmentRandomAttribute> _parser = new pb::MessageParser<table_EquipmentRandomAttribute>(() => new table_EquipmentRandomAttribute());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EquipmentRandomAttribute> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[175]; }
    }

    [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 table_EquipmentRandomAttribute() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentRandomAttribute(table_EquipmentRandomAttribute other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EquipmentRandomAttribute Clone() {
      return new table_EquipmentRandomAttribute(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EquipmentRandomAttribute> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EquipmentRandomAttribute.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EquipmentRandomAttribute> list_ = new pbc::RepeatedField<global::Nova.Client.EquipmentRandomAttribute>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EquipmentRandomAttribute> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EquipmentRandomAttribute);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EquipmentRandomAttribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EquipmentRandomAttribute other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ErrorCode : pb::IMessage<ErrorCode>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ErrorCode> _parser = new pb::MessageParser<ErrorCode>(() => new ErrorCode());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ErrorCode> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[176]; }
    }

    [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 ErrorCode() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ErrorCode(ErrorCode other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      template_ = other.template_;
      showType_ = other.showType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ErrorCode Clone() {
      return new ErrorCode(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Template" field.</summary>
    public const int TemplateFieldNumber = 3;
    private string template_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Template {
      get { return template_; }
      set {
        template_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ShowType" field.</summary>
    public const int ShowTypeFieldNumber = 4;
    private int showType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShowType {
      get { return showType_; }
      set {
        showType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ErrorCode);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ErrorCode other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Template != other.Template) return false;
      if (ShowType != other.ShowType) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Template.Length != 0) hash ^= Template.GetHashCode();
      if (ShowType != 0) hash ^= ShowType.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Template.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Template);
      }
      if (ShowType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ShowType);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Template.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Template);
      }
      if (ShowType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ShowType);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Template.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Template);
      }
      if (ShowType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShowType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ErrorCode other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Template.Length != 0) {
        Template = other.Template;
      }
      if (other.ShowType != 0) {
        ShowType = other.ShowType;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Template = input.ReadString();
            break;
          }
          case 32: {
            ShowType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Template = input.ReadString();
            break;
          }
          case 32: {
            ShowType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ErrorCode : pb::IMessage<table_ErrorCode>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ErrorCode> _parser = new pb::MessageParser<table_ErrorCode>(() => new table_ErrorCode());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ErrorCode> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[177]; }
    }

    [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 table_ErrorCode() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ErrorCode(table_ErrorCode other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ErrorCode Clone() {
      return new table_ErrorCode(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ErrorCode> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ErrorCode.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ErrorCode> list_ = new pbc::RepeatedField<global::Nova.Client.ErrorCode>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ErrorCode> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ErrorCode);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ErrorCode other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ErrorCode other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EventOptions : pb::IMessage<EventOptions>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EventOptions> _parser = new pb::MessageParser<EventOptions>(() => new EventOptions());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EventOptions> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[178]; }
    }

    [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 EventOptions() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventOptions(EventOptions other) : this() {
      id_ = other.id_;
      desc_ = other.desc_;
      ignoreInterActive_ = other.ignoreInterActive_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventOptions Clone() {
      return new EventOptions(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 2;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IgnoreInterActive" field.</summary>
    public const int IgnoreInterActiveFieldNumber = 3;
    private bool ignoreInterActive_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IgnoreInterActive {
      get { return ignoreInterActive_; }
      set {
        ignoreInterActive_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EventOptions);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EventOptions other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Desc != other.Desc) return false;
      if (IgnoreInterActive != other.IgnoreInterActive) 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 (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (IgnoreInterActive != false) hash ^= IgnoreInterActive.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.WriteInt32(Id);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Desc);
      }
      if (IgnoreInterActive != false) {
        output.WriteRawTag(24);
        output.WriteBool(IgnoreInterActive);
      }
      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.WriteInt32(Id);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Desc);
      }
      if (IgnoreInterActive != false) {
        output.WriteRawTag(24);
        output.WriteBool(IgnoreInterActive);
      }
      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.ComputeInt32Size(Id);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (IgnoreInterActive != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EventOptions other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.IgnoreInterActive != false) {
        IgnoreInterActive = other.IgnoreInterActive;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Desc = input.ReadString();
            break;
          }
          case 24: {
            IgnoreInterActive = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Desc = input.ReadString();
            break;
          }
          case 24: {
            IgnoreInterActive = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EventOptions : pb::IMessage<table_EventOptions>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EventOptions> _parser = new pb::MessageParser<table_EventOptions>(() => new table_EventOptions());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EventOptions> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[179]; }
    }

    [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 table_EventOptions() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EventOptions(table_EventOptions other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EventOptions Clone() {
      return new table_EventOptions(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EventOptions> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EventOptions.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EventOptions> list_ = new pbc::RepeatedField<global::Nova.Client.EventOptions>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EventOptions> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EventOptions);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EventOptions other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EventOptions other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EventOptionsRules : pb::IMessage<EventOptionsRules>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EventOptionsRules> _parser = new pb::MessageParser<EventOptionsRules>(() => new EventOptionsRules());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EventOptionsRules> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[180]; }
    }

    [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 EventOptionsRules() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventOptionsRules(EventOptionsRules other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventOptionsRules Clone() {
      return new EventOptionsRules(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = 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 EventOptionsRules);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EventOptionsRules other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EventOptionsRules other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EventOptionsRules : pb::IMessage<table_EventOptionsRules>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EventOptionsRules> _parser = new pb::MessageParser<table_EventOptionsRules>(() => new table_EventOptionsRules());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EventOptionsRules> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[181]; }
    }

    [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 table_EventOptionsRules() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EventOptionsRules(table_EventOptionsRules other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EventOptionsRules Clone() {
      return new table_EventOptionsRules(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EventOptionsRules> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EventOptionsRules.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EventOptionsRules> list_ = new pbc::RepeatedField<global::Nova.Client.EventOptionsRules>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EventOptionsRules> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EventOptionsRules);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EventOptionsRules other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EventOptionsRules other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class EventResult : pb::IMessage<EventResult>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<EventResult> _parser = new pb::MessageParser<EventResult>(() => new EventResult());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<EventResult> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[182]; }
    }

    [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 EventResult() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventResult(EventResult other) : this() {
      id_ = other.id_;
      effect1_ = other.effect1_;
      parameter1_ = other.parameter1_.Clone();
      effect2_ = other.effect2_;
      parameter2_ = other.parameter2_.Clone();
      effect3_ = other.effect3_;
      parameter3_ = other.parameter3_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public EventResult Clone() {
      return new EventResult(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Effect1" field.</summary>
    public const int Effect1FieldNumber = 2;
    private int effect1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Effect1 {
      get { return effect1_; }
      set {
        effect1_ = value;
      }
    }

    /// <summary>Field number for the "Parameter1" field.</summary>
    public const int Parameter1FieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_parameter1_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> parameter1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Parameter1 {
      get { return parameter1_; }
    }

    /// <summary>Field number for the "Effect2" field.</summary>
    public const int Effect2FieldNumber = 4;
    private int effect2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Effect2 {
      get { return effect2_; }
      set {
        effect2_ = value;
      }
    }

    /// <summary>Field number for the "Parameter2" field.</summary>
    public const int Parameter2FieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_parameter2_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> parameter2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Parameter2 {
      get { return parameter2_; }
    }

    /// <summary>Field number for the "Effect3" field.</summary>
    public const int Effect3FieldNumber = 6;
    private int effect3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Effect3 {
      get { return effect3_; }
      set {
        effect3_ = value;
      }
    }

    /// <summary>Field number for the "Parameter3" field.</summary>
    public const int Parameter3FieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_parameter3_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> parameter3_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Parameter3 {
      get { return parameter3_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as EventResult);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(EventResult other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Effect1 != other.Effect1) return false;
      if(!parameter1_.Equals(other.parameter1_)) return false;
      if (Effect2 != other.Effect2) return false;
      if(!parameter2_.Equals(other.parameter2_)) return false;
      if (Effect3 != other.Effect3) return false;
      if(!parameter3_.Equals(other.parameter3_)) 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 (Effect1 != 0) hash ^= Effect1.GetHashCode();
      hash ^= parameter1_.GetHashCode();
      if (Effect2 != 0) hash ^= Effect2.GetHashCode();
      hash ^= parameter2_.GetHashCode();
      if (Effect3 != 0) hash ^= Effect3.GetHashCode();
      hash ^= parameter3_.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.WriteInt32(Id);
      }
      if (Effect1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Effect1);
      }
      parameter1_.WriteTo(output, _repeated_parameter1_codec);
      if (Effect2 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Effect2);
      }
      parameter2_.WriteTo(output, _repeated_parameter2_codec);
      if (Effect3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Effect3);
      }
      parameter3_.WriteTo(output, _repeated_parameter3_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Effect1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Effect1);
      }
      parameter1_.WriteTo(ref output, _repeated_parameter1_codec);
      if (Effect2 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Effect2);
      }
      parameter2_.WriteTo(ref output, _repeated_parameter2_codec);
      if (Effect3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Effect3);
      }
      parameter3_.WriteTo(ref output, _repeated_parameter3_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Effect1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Effect1);
      }
      size += parameter1_.CalculateSize(_repeated_parameter1_codec);
      if (Effect2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Effect2);
      }
      size += parameter2_.CalculateSize(_repeated_parameter2_codec);
      if (Effect3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Effect3);
      }
      size += parameter3_.CalculateSize(_repeated_parameter3_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(EventResult other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Effect1 != 0) {
        Effect1 = other.Effect1;
      }
      parameter1_.Add(other.parameter1_);
      if (other.Effect2 != 0) {
        Effect2 = other.Effect2;
      }
      parameter2_.Add(other.parameter2_);
      if (other.Effect3 != 0) {
        Effect3 = other.Effect3;
      }
      parameter3_.Add(other.parameter3_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            Effect1 = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            parameter1_.AddEntriesFrom(input, _repeated_parameter1_codec);
            break;
          }
          case 32: {
            Effect2 = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            parameter2_.AddEntriesFrom(input, _repeated_parameter2_codec);
            break;
          }
          case 48: {
            Effect3 = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            parameter3_.AddEntriesFrom(input, _repeated_parameter3_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Effect1 = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            parameter1_.AddEntriesFrom(ref input, _repeated_parameter1_codec);
            break;
          }
          case 32: {
            Effect2 = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            parameter2_.AddEntriesFrom(ref input, _repeated_parameter2_codec);
            break;
          }
          case 48: {
            Effect3 = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            parameter3_.AddEntriesFrom(ref input, _repeated_parameter3_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_EventResult : pb::IMessage<table_EventResult>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_EventResult> _parser = new pb::MessageParser<table_EventResult>(() => new table_EventResult());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_EventResult> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[183]; }
    }

    [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 table_EventResult() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EventResult(table_EventResult other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_EventResult Clone() {
      return new table_EventResult(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.EventResult> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.EventResult.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.EventResult> list_ = new pbc::RepeatedField<global::Nova.Client.EventResult>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.EventResult> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_EventResult);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_EventResult other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_EventResult other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class FactionRelation : pb::IMessage<FactionRelation>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<FactionRelation> _parser = new pb::MessageParser<FactionRelation>(() => new FactionRelation());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<FactionRelation> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[184]; }
    }

    [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 FactionRelation() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FactionRelation(FactionRelation other) : this() {
      id_ = other.id_;
      factionRelationShip_ = other.factionRelationShip_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FactionRelation Clone() {
      return new FactionRelation(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FactionRelationShip" field.</summary>
    public const int FactionRelationShipFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_factionRelationShip_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> factionRelationShip_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FactionRelationShip {
      get { return factionRelationShip_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as FactionRelation);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(FactionRelation other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!factionRelationShip_.Equals(other.factionRelationShip_)) 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();
      hash ^= factionRelationShip_.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.WriteInt32(Id);
      }
      factionRelationShip_.WriteTo(output, _repeated_factionRelationShip_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      factionRelationShip_.WriteTo(ref output, _repeated_factionRelationShip_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      size += factionRelationShip_.CalculateSize(_repeated_factionRelationShip_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(FactionRelation other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      factionRelationShip_.Add(other.factionRelationShip_);
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            factionRelationShip_.AddEntriesFrom(input, _repeated_factionRelationShip_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            factionRelationShip_.AddEntriesFrom(ref input, _repeated_factionRelationShip_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_FactionRelation : pb::IMessage<table_FactionRelation>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_FactionRelation> _parser = new pb::MessageParser<table_FactionRelation>(() => new table_FactionRelation());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_FactionRelation> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[185]; }
    }

    [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 table_FactionRelation() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FactionRelation(table_FactionRelation other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FactionRelation Clone() {
      return new table_FactionRelation(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.FactionRelation> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.FactionRelation.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.FactionRelation> list_ = new pbc::RepeatedField<global::Nova.Client.FactionRelation>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.FactionRelation> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_FactionRelation);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_FactionRelation other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_FactionRelation other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class FateCard : pb::IMessage<FateCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<FateCard> _parser = new pb::MessageParser<FateCard>(() => new FateCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<FateCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[186]; }
    }

    [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 FateCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FateCard(FateCard other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      desc2_ = other.desc2_;
      isTower_ = other.isTower_;
      isVampire_ = other.isVampire_;
      isVampireSpecial_ = other.isVampireSpecial_;
      activeNumber_ = other.activeNumber_;
      duration_ = other.duration_;
      activeRoomTypes_ = other.activeRoomTypes_.Clone();
      activeAction_ = other.activeAction_;
      methodMode_ = other.methodMode_;
      clientEffect_ = other.clientEffect_;
      count_ = other.count_;
      themeType_ = other.themeType_;
      themeValue_ = other.themeValue_;
      themeTriggerType_ = other.themeTriggerType_.Clone();
      effectiveImmediately_ = other.effectiveImmediately_;
      removable_ = other.removable_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FateCard Clone() {
      return new FateCard(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc2" field.</summary>
    public const int Desc2FieldNumber = 4;
    private string desc2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc2 {
      get { return desc2_; }
      set {
        desc2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsTower" field.</summary>
    public const int IsTowerFieldNumber = 5;
    private bool isTower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsTower {
      get { return isTower_; }
      set {
        isTower_ = value;
      }
    }

    /// <summary>Field number for the "IsVampire" field.</summary>
    public const int IsVampireFieldNumber = 6;
    private bool isVampire_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsVampire {
      get { return isVampire_; }
      set {
        isVampire_ = value;
      }
    }

    /// <summary>Field number for the "IsVampireSpecial" field.</summary>
    public const int IsVampireSpecialFieldNumber = 7;
    private bool isVampireSpecial_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsVampireSpecial {
      get { return isVampireSpecial_; }
      set {
        isVampireSpecial_ = value;
      }
    }

    /// <summary>Field number for the "ActiveNumber" field.</summary>
    public const int ActiveNumberFieldNumber = 8;
    private int activeNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ActiveNumber {
      get { return activeNumber_; }
      set {
        activeNumber_ = value;
      }
    }

    /// <summary>Field number for the "Duration" field.</summary>
    public const int DurationFieldNumber = 9;
    private int duration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Duration {
      get { return duration_; }
      set {
        duration_ = value;
      }
    }

    /// <summary>Field number for the "ActiveRoomTypes" field.</summary>
    public const int ActiveRoomTypesFieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_activeRoomTypes_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> activeRoomTypes_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ActiveRoomTypes {
      get { return activeRoomTypes_; }
    }

    /// <summary>Field number for the "ActiveAction" field.</summary>
    public const int ActiveActionFieldNumber = 11;
    private int activeAction_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ActiveAction {
      get { return activeAction_; }
      set {
        activeAction_ = value;
      }
    }

    /// <summary>Field number for the "MethodMode" field.</summary>
    public const int MethodModeFieldNumber = 12;
    private int methodMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MethodMode {
      get { return methodMode_; }
      set {
        methodMode_ = value;
      }
    }

    /// <summary>Field number for the "ClientEffect" field.</summary>
    public const int ClientEffectFieldNumber = 13;
    private int clientEffect_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ClientEffect {
      get { return clientEffect_; }
      set {
        clientEffect_ = value;
      }
    }

    /// <summary>Field number for the "Count" field.</summary>
    public const int CountFieldNumber = 14;
    private int count_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Count {
      get { return count_; }
      set {
        count_ = value;
      }
    }

    /// <summary>Field number for the "ThemeType" field.</summary>
    public const int ThemeTypeFieldNumber = 15;
    private int themeType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThemeType {
      get { return themeType_; }
      set {
        themeType_ = value;
      }
    }

    /// <summary>Field number for the "ThemeValue" field.</summary>
    public const int ThemeValueFieldNumber = 16;
    private int themeValue_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThemeValue {
      get { return themeValue_; }
      set {
        themeValue_ = value;
      }
    }

    /// <summary>Field number for the "ThemeTriggerType" field.</summary>
    public const int ThemeTriggerTypeFieldNumber = 17;
    private static readonly pb::FieldCodec<int> _repeated_themeTriggerType_codec
        = pb::FieldCodec.ForInt32(138);
    private readonly pbc::RepeatedField<int> themeTriggerType_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ThemeTriggerType {
      get { return themeTriggerType_; }
    }

    /// <summary>Field number for the "EffectiveImmediately" field.</summary>
    public const int EffectiveImmediatelyFieldNumber = 18;
    private bool effectiveImmediately_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool EffectiveImmediately {
      get { return effectiveImmediately_; }
      set {
        effectiveImmediately_ = value;
      }
    }

    /// <summary>Field number for the "Removable" field.</summary>
    public const int RemovableFieldNumber = 19;
    private bool removable_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Removable {
      get { return removable_; }
      set {
        removable_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as FateCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(FateCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Desc2 != other.Desc2) return false;
      if (IsTower != other.IsTower) return false;
      if (IsVampire != other.IsVampire) return false;
      if (IsVampireSpecial != other.IsVampireSpecial) return false;
      if (ActiveNumber != other.ActiveNumber) return false;
      if (Duration != other.Duration) return false;
      if(!activeRoomTypes_.Equals(other.activeRoomTypes_)) return false;
      if (ActiveAction != other.ActiveAction) return false;
      if (MethodMode != other.MethodMode) return false;
      if (ClientEffect != other.ClientEffect) return false;
      if (Count != other.Count) return false;
      if (ThemeType != other.ThemeType) return false;
      if (ThemeValue != other.ThemeValue) return false;
      if(!themeTriggerType_.Equals(other.themeTriggerType_)) return false;
      if (EffectiveImmediately != other.EffectiveImmediately) return false;
      if (Removable != other.Removable) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Desc2.Length != 0) hash ^= Desc2.GetHashCode();
      if (IsTower != false) hash ^= IsTower.GetHashCode();
      if (IsVampire != false) hash ^= IsVampire.GetHashCode();
      if (IsVampireSpecial != false) hash ^= IsVampireSpecial.GetHashCode();
      if (ActiveNumber != 0) hash ^= ActiveNumber.GetHashCode();
      if (Duration != 0) hash ^= Duration.GetHashCode();
      hash ^= activeRoomTypes_.GetHashCode();
      if (ActiveAction != 0) hash ^= ActiveAction.GetHashCode();
      if (MethodMode != 0) hash ^= MethodMode.GetHashCode();
      if (ClientEffect != 0) hash ^= ClientEffect.GetHashCode();
      if (Count != 0) hash ^= Count.GetHashCode();
      if (ThemeType != 0) hash ^= ThemeType.GetHashCode();
      if (ThemeValue != 0) hash ^= ThemeValue.GetHashCode();
      hash ^= themeTriggerType_.GetHashCode();
      if (EffectiveImmediately != false) hash ^= EffectiveImmediately.GetHashCode();
      if (Removable != false) hash ^= Removable.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc2);
      }
      if (IsTower != false) {
        output.WriteRawTag(40);
        output.WriteBool(IsTower);
      }
      if (IsVampire != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsVampire);
      }
      if (IsVampireSpecial != false) {
        output.WriteRawTag(56);
        output.WriteBool(IsVampireSpecial);
      }
      if (ActiveNumber != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ActiveNumber);
      }
      if (Duration != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Duration);
      }
      activeRoomTypes_.WriteTo(output, _repeated_activeRoomTypes_codec);
      if (ActiveAction != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ActiveAction);
      }
      if (MethodMode != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MethodMode);
      }
      if (ClientEffect != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ClientEffect);
      }
      if (Count != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Count);
      }
      if (ThemeType != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ThemeType);
      }
      if (ThemeValue != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ThemeValue);
      }
      themeTriggerType_.WriteTo(output, _repeated_themeTriggerType_codec);
      if (EffectiveImmediately != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(EffectiveImmediately);
      }
      if (Removable != false) {
        output.WriteRawTag(152, 1);
        output.WriteBool(Removable);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc2);
      }
      if (IsTower != false) {
        output.WriteRawTag(40);
        output.WriteBool(IsTower);
      }
      if (IsVampire != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsVampire);
      }
      if (IsVampireSpecial != false) {
        output.WriteRawTag(56);
        output.WriteBool(IsVampireSpecial);
      }
      if (ActiveNumber != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ActiveNumber);
      }
      if (Duration != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Duration);
      }
      activeRoomTypes_.WriteTo(ref output, _repeated_activeRoomTypes_codec);
      if (ActiveAction != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ActiveAction);
      }
      if (MethodMode != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MethodMode);
      }
      if (ClientEffect != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ClientEffect);
      }
      if (Count != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Count);
      }
      if (ThemeType != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ThemeType);
      }
      if (ThemeValue != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ThemeValue);
      }
      themeTriggerType_.WriteTo(ref output, _repeated_themeTriggerType_codec);
      if (EffectiveImmediately != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(EffectiveImmediately);
      }
      if (Removable != false) {
        output.WriteRawTag(152, 1);
        output.WriteBool(Removable);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Desc2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc2);
      }
      if (IsTower != false) {
        size += 1 + 1;
      }
      if (IsVampire != false) {
        size += 1 + 1;
      }
      if (IsVampireSpecial != false) {
        size += 1 + 1;
      }
      if (ActiveNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ActiveNumber);
      }
      if (Duration != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Duration);
      }
      size += activeRoomTypes_.CalculateSize(_repeated_activeRoomTypes_codec);
      if (ActiveAction != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ActiveAction);
      }
      if (MethodMode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MethodMode);
      }
      if (ClientEffect != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ClientEffect);
      }
      if (Count != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Count);
      }
      if (ThemeType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ThemeType);
      }
      if (ThemeValue != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ThemeValue);
      }
      size += themeTriggerType_.CalculateSize(_repeated_themeTriggerType_codec);
      if (EffectiveImmediately != false) {
        size += 2 + 1;
      }
      if (Removable != false) {
        size += 2 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(FateCard other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Desc2.Length != 0) {
        Desc2 = other.Desc2;
      }
      if (other.IsTower != false) {
        IsTower = other.IsTower;
      }
      if (other.IsVampire != false) {
        IsVampire = other.IsVampire;
      }
      if (other.IsVampireSpecial != false) {
        IsVampireSpecial = other.IsVampireSpecial;
      }
      if (other.ActiveNumber != 0) {
        ActiveNumber = other.ActiveNumber;
      }
      if (other.Duration != 0) {
        Duration = other.Duration;
      }
      activeRoomTypes_.Add(other.activeRoomTypes_);
      if (other.ActiveAction != 0) {
        ActiveAction = other.ActiveAction;
      }
      if (other.MethodMode != 0) {
        MethodMode = other.MethodMode;
      }
      if (other.ClientEffect != 0) {
        ClientEffect = other.ClientEffect;
      }
      if (other.Count != 0) {
        Count = other.Count;
      }
      if (other.ThemeType != 0) {
        ThemeType = other.ThemeType;
      }
      if (other.ThemeValue != 0) {
        ThemeValue = other.ThemeValue;
      }
      themeTriggerType_.Add(other.themeTriggerType_);
      if (other.EffectiveImmediately != false) {
        EffectiveImmediately = other.EffectiveImmediately;
      }
      if (other.Removable != false) {
        Removable = other.Removable;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Desc2 = input.ReadString();
            break;
          }
          case 40: {
            IsTower = input.ReadBool();
            break;
          }
          case 48: {
            IsVampire = input.ReadBool();
            break;
          }
          case 56: {
            IsVampireSpecial = input.ReadBool();
            break;
          }
          case 64: {
            ActiveNumber = input.ReadInt32();
            break;
          }
          case 72: {
            Duration = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            activeRoomTypes_.AddEntriesFrom(input, _repeated_activeRoomTypes_codec);
            break;
          }
          case 88: {
            ActiveAction = input.ReadInt32();
            break;
          }
          case 96: {
            MethodMode = input.ReadInt32();
            break;
          }
          case 104: {
            ClientEffect = input.ReadInt32();
            break;
          }
          case 112: {
            Count = input.ReadInt32();
            break;
          }
          case 120: {
            ThemeType = input.ReadInt32();
            break;
          }
          case 128: {
            ThemeValue = input.ReadInt32();
            break;
          }
          case 138:
          case 136: {
            themeTriggerType_.AddEntriesFrom(input, _repeated_themeTriggerType_codec);
            break;
          }
          case 144: {
            EffectiveImmediately = input.ReadBool();
            break;
          }
          case 152: {
            Removable = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Desc2 = input.ReadString();
            break;
          }
          case 40: {
            IsTower = input.ReadBool();
            break;
          }
          case 48: {
            IsVampire = input.ReadBool();
            break;
          }
          case 56: {
            IsVampireSpecial = input.ReadBool();
            break;
          }
          case 64: {
            ActiveNumber = input.ReadInt32();
            break;
          }
          case 72: {
            Duration = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            activeRoomTypes_.AddEntriesFrom(ref input, _repeated_activeRoomTypes_codec);
            break;
          }
          case 88: {
            ActiveAction = input.ReadInt32();
            break;
          }
          case 96: {
            MethodMode = input.ReadInt32();
            break;
          }
          case 104: {
            ClientEffect = input.ReadInt32();
            break;
          }
          case 112: {
            Count = input.ReadInt32();
            break;
          }
          case 120: {
            ThemeType = input.ReadInt32();
            break;
          }
          case 128: {
            ThemeValue = input.ReadInt32();
            break;
          }
          case 138:
          case 136: {
            themeTriggerType_.AddEntriesFrom(ref input, _repeated_themeTriggerType_codec);
            break;
          }
          case 144: {
            EffectiveImmediately = input.ReadBool();
            break;
          }
          case 152: {
            Removable = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_FateCard : pb::IMessage<table_FateCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_FateCard> _parser = new pb::MessageParser<table_FateCard>(() => new table_FateCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_FateCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[187]; }
    }

    [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 table_FateCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FateCard(table_FateCard other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FateCard Clone() {
      return new table_FateCard(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.FateCard> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.FateCard.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.FateCard> list_ = new pbc::RepeatedField<global::Nova.Client.FateCard>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.FateCard> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_FateCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_FateCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_FateCard other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class FloorBuff : pb::IMessage<FloorBuff>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<FloorBuff> _parser = new pb::MessageParser<FloorBuff>(() => new FloorBuff());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<FloorBuff> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[188]; }
    }

    [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 FloorBuff() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FloorBuff(FloorBuff other) : this() {
      id_ = other.id_;
      addCamp_ = other.addCamp_.Clone();
      addClass_ = other.addClass_.Clone();
      effectId_ = other.effectId_.Clone();
      buffId_ = other.buffId_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FloorBuff Clone() {
      return new FloorBuff(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "AddCamp" field.</summary>
    public const int AddCampFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_addCamp_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> addCamp_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddCamp {
      get { return addCamp_; }
    }

    /// <summary>Field number for the "AddClass" field.</summary>
    public const int AddClassFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_addClass_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> addClass_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddClass {
      get { return addClass_; }
    }

    /// <summary>Field number for the "EffectId" field.</summary>
    public const int EffectIdFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_effectId_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> effectId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId {
      get { return effectId_; }
    }

    /// <summary>Field number for the "BuffId" field.</summary>
    public const int BuffIdFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_buffId_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> buffId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BuffId {
      get { return buffId_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as FloorBuff);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(FloorBuff other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!addCamp_.Equals(other.addCamp_)) return false;
      if(!addClass_.Equals(other.addClass_)) return false;
      if(!effectId_.Equals(other.effectId_)) return false;
      if(!buffId_.Equals(other.buffId_)) 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();
      hash ^= addCamp_.GetHashCode();
      hash ^= addClass_.GetHashCode();
      hash ^= effectId_.GetHashCode();
      hash ^= buffId_.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.WriteInt32(Id);
      }
      addCamp_.WriteTo(output, _repeated_addCamp_codec);
      addClass_.WriteTo(output, _repeated_addClass_codec);
      effectId_.WriteTo(output, _repeated_effectId_codec);
      buffId_.WriteTo(output, _repeated_buffId_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      addCamp_.WriteTo(ref output, _repeated_addCamp_codec);
      addClass_.WriteTo(ref output, _repeated_addClass_codec);
      effectId_.WriteTo(ref output, _repeated_effectId_codec);
      buffId_.WriteTo(ref output, _repeated_buffId_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      size += addCamp_.CalculateSize(_repeated_addCamp_codec);
      size += addClass_.CalculateSize(_repeated_addClass_codec);
      size += effectId_.CalculateSize(_repeated_effectId_codec);
      size += buffId_.CalculateSize(_repeated_buffId_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(FloorBuff other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      addCamp_.Add(other.addCamp_);
      addClass_.Add(other.addClass_);
      effectId_.Add(other.effectId_);
      buffId_.Add(other.buffId_);
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            addCamp_.AddEntriesFrom(input, _repeated_addCamp_codec);
            break;
          }
          case 26:
          case 24: {
            addClass_.AddEntriesFrom(input, _repeated_addClass_codec);
            break;
          }
          case 34:
          case 32: {
            effectId_.AddEntriesFrom(input, _repeated_effectId_codec);
            break;
          }
          case 42:
          case 40: {
            buffId_.AddEntriesFrom(input, _repeated_buffId_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            addCamp_.AddEntriesFrom(ref input, _repeated_addCamp_codec);
            break;
          }
          case 26:
          case 24: {
            addClass_.AddEntriesFrom(ref input, _repeated_addClass_codec);
            break;
          }
          case 34:
          case 32: {
            effectId_.AddEntriesFrom(ref input, _repeated_effectId_codec);
            break;
          }
          case 42:
          case 40: {
            buffId_.AddEntriesFrom(ref input, _repeated_buffId_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_FloorBuff : pb::IMessage<table_FloorBuff>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_FloorBuff> _parser = new pb::MessageParser<table_FloorBuff>(() => new table_FloorBuff());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_FloorBuff> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[189]; }
    }

    [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 table_FloorBuff() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FloorBuff(table_FloorBuff other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FloorBuff Clone() {
      return new table_FloorBuff(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.FloorBuff> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.FloorBuff.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.FloorBuff> list_ = new pbc::RepeatedField<global::Nova.Client.FloorBuff>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.FloorBuff> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_FloorBuff);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_FloorBuff other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_FloorBuff other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Force : pb::IMessage<Force>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Force> _parser = new pb::MessageParser<Force>(() => new Force());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Force> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[190]; }
    }

    [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 Force() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Force(Force other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      icon1_ = other.icon1_;
      icon2_ = other.icon2_;
      talentPos_ = other.talentPos_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Force Clone() {
      return new Force(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon1" field.</summary>
    public const int Icon1FieldNumber = 3;
    private string icon1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon1 {
      get { return icon1_; }
      set {
        icon1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon2" field.</summary>
    public const int Icon2FieldNumber = 4;
    private string icon2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon2 {
      get { return icon2_; }
      set {
        icon2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TalentPos" field.</summary>
    public const int TalentPosFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_talentPos_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> talentPos_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TalentPos {
      get { return talentPos_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Force);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Force other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Icon1 != other.Icon1) return false;
      if (Icon2 != other.Icon2) return false;
      if(!talentPos_.Equals(other.talentPos_)) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Icon1.Length != 0) hash ^= Icon1.GetHashCode();
      if (Icon2.Length != 0) hash ^= Icon2.GetHashCode();
      hash ^= talentPos_.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Icon1.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon1);
      }
      if (Icon2.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon2);
      }
      talentPos_.WriteTo(output, _repeated_talentPos_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Icon1.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon1);
      }
      if (Icon2.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon2);
      }
      talentPos_.WriteTo(ref output, _repeated_talentPos_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Icon1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon1);
      }
      if (Icon2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon2);
      }
      size += talentPos_.CalculateSize(_repeated_talentPos_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Force other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Icon1.Length != 0) {
        Icon1 = other.Icon1;
      }
      if (other.Icon2.Length != 0) {
        Icon2 = other.Icon2;
      }
      talentPos_.Add(other.talentPos_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Icon1 = input.ReadString();
            break;
          }
          case 34: {
            Icon2 = input.ReadString();
            break;
          }
          case 42:
          case 40: {
            talentPos_.AddEntriesFrom(input, _repeated_talentPos_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Icon1 = input.ReadString();
            break;
          }
          case 34: {
            Icon2 = input.ReadString();
            break;
          }
          case 42:
          case 40: {
            talentPos_.AddEntriesFrom(ref input, _repeated_talentPos_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Force : pb::IMessage<table_Force>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Force> _parser = new pb::MessageParser<table_Force>(() => new table_Force());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Force> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[191]; }
    }

    [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 table_Force() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Force(table_Force other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Force Clone() {
      return new table_Force(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Force> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Force.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Force> list_ = new pbc::RepeatedField<global::Nova.Client.Force>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Force> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Force);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Force other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Force other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class FormationScene : pb::IMessage<FormationScene>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<FormationScene> _parser = new pb::MessageParser<FormationScene>(() => new FormationScene());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<FormationScene> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[192]; }
    }

    [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 FormationScene() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FormationScene(FormationScene other) : this() {
      sceneName_ = other.sceneName_;
      path_ = other.path_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public FormationScene Clone() {
      return new FormationScene(this);
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 1;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Path" field.</summary>
    public const int PathFieldNumber = 2;
    private string path_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Path {
      get { return path_; }
      set {
        path_ = 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 FormationScene);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(FormationScene other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (SceneName != other.SceneName) return false;
      if (Path != other.Path) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (Path.Length != 0) hash ^= Path.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 (SceneName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(SceneName);
      }
      if (Path.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Path);
      }
      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 (SceneName.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(SceneName);
      }
      if (Path.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Path);
      }
      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 (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (Path.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Path);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(FormationScene other) {
      if (other == null) {
        return;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.Path.Length != 0) {
        Path = other.Path;
      }
      _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: {
            SceneName = input.ReadString();
            break;
          }
          case 18: {
            Path = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            SceneName = input.ReadString();
            break;
          }
          case 18: {
            Path = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_FormationScene : pb::IMessage<table_FormationScene>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_FormationScene> _parser = new pb::MessageParser<table_FormationScene>(() => new table_FormationScene());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_FormationScene> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[193]; }
    }

    [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 table_FormationScene() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FormationScene(table_FormationScene other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_FormationScene Clone() {
      return new table_FormationScene(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.FormationScene> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.FormationScene.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.FormationScene> list_ = new pbc::RepeatedField<global::Nova.Client.FormationScene>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.FormationScene> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_FormationScene);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_FormationScene other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_FormationScene other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Gacha : pb::IMessage<Gacha>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Gacha> _parser = new pb::MessageParser<Gacha>(() => new Gacha());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Gacha> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[194]; }
    }

    [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 Gacha() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Gacha(Gacha other) : this() {
      id_ = other.id_;
      defaultId_ = other.defaultId_;
      defaultQty_ = other.defaultQty_;
      costId_ = other.costId_;
      costQty_ = other.costQty_;
      oncePreferred_ = other.oncePreferred_;
      tenTimesPreferred_ = other.tenTimesPreferred_;
      limitTimes_ = other.limitTimes_;
      aTypeUpShowProb_ = other.aTypeUpShowProb_;
      bTypeUpShowProb_ = other.bTypeUpShowProb_;
      storageId_ = other.storageId_;
      startTime_ = other.startTime_;
      endTime_ = other.endTime_;
      sort_ = other.sort_;
      icon_ = other.icon_;
      image_ = other.image_;
      uPCharacter_ = other.uPCharacter_.Clone();
      uPOutfit_ = other.uPOutfit_.Clone();
      character_ = other.character_.Clone();
      outfit_ = other.outfit_.Clone();
      tag_ = other.tag_;
      voice_ = other.voice_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Gacha Clone() {
      return new Gacha(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "DefaultId" field.</summary>
    public const int DefaultIdFieldNumber = 2;
    private int defaultId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DefaultId {
      get { return defaultId_; }
      set {
        defaultId_ = value;
      }
    }

    /// <summary>Field number for the "DefaultQty" field.</summary>
    public const int DefaultQtyFieldNumber = 3;
    private int defaultQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DefaultQty {
      get { return defaultQty_; }
      set {
        defaultQty_ = value;
      }
    }

    /// <summary>Field number for the "CostId" field.</summary>
    public const int CostIdFieldNumber = 4;
    private int costId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CostId {
      get { return costId_; }
      set {
        costId_ = value;
      }
    }

    /// <summary>Field number for the "CostQty" field.</summary>
    public const int CostQtyFieldNumber = 5;
    private int costQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CostQty {
      get { return costQty_; }
      set {
        costQty_ = value;
      }
    }

    /// <summary>Field number for the "OncePreferred" field.</summary>
    public const int OncePreferredFieldNumber = 6;
    private string oncePreferred_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OncePreferred {
      get { return oncePreferred_; }
      set {
        oncePreferred_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TenTimesPreferred" field.</summary>
    public const int TenTimesPreferredFieldNumber = 7;
    private string tenTimesPreferred_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TenTimesPreferred {
      get { return tenTimesPreferred_; }
      set {
        tenTimesPreferred_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LimitTimes" field.</summary>
    public const int LimitTimesFieldNumber = 8;
    private int limitTimes_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LimitTimes {
      get { return limitTimes_; }
      set {
        limitTimes_ = value;
      }
    }

    /// <summary>Field number for the "ATypeUpShowProb" field.</summary>
    public const int ATypeUpShowProbFieldNumber = 9;
    private int aTypeUpShowProb_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ATypeUpShowProb {
      get { return aTypeUpShowProb_; }
      set {
        aTypeUpShowProb_ = value;
      }
    }

    /// <summary>Field number for the "BTypeUpShowProb" field.</summary>
    public const int BTypeUpShowProbFieldNumber = 10;
    private int bTypeUpShowProb_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BTypeUpShowProb {
      get { return bTypeUpShowProb_; }
      set {
        bTypeUpShowProb_ = value;
      }
    }

    /// <summary>Field number for the "StorageId" field.</summary>
    public const int StorageIdFieldNumber = 11;
    private int storageId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StorageId {
      get { return storageId_; }
      set {
        storageId_ = value;
      }
    }

    /// <summary>Field number for the "StartTime" field.</summary>
    public const int StartTimeFieldNumber = 12;
    private string startTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string StartTime {
      get { return startTime_; }
      set {
        startTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EndTime" field.</summary>
    public const int EndTimeFieldNumber = 13;
    private string endTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EndTime {
      get { return endTime_; }
      set {
        endTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 14;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 15;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Image" field.</summary>
    public const int ImageFieldNumber = 16;
    private string image_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Image {
      get { return image_; }
      set {
        image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UPCharacter" field.</summary>
    public const int UPCharacterFieldNumber = 17;
    private static readonly pb::FieldCodec<int> _repeated_uPCharacter_codec
        = pb::FieldCodec.ForInt32(138);
    private readonly pbc::RepeatedField<int> uPCharacter_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> UPCharacter {
      get { return uPCharacter_; }
    }

    /// <summary>Field number for the "UPOutfit" field.</summary>
    public const int UPOutfitFieldNumber = 18;
    private static readonly pb::FieldCodec<int> _repeated_uPOutfit_codec
        = pb::FieldCodec.ForInt32(146);
    private readonly pbc::RepeatedField<int> uPOutfit_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> UPOutfit {
      get { return uPOutfit_; }
    }

    /// <summary>Field number for the "Character" field.</summary>
    public const int CharacterFieldNumber = 19;
    private static readonly pb::FieldCodec<int> _repeated_character_codec
        = pb::FieldCodec.ForInt32(154);
    private readonly pbc::RepeatedField<int> character_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Character {
      get { return character_; }
    }

    /// <summary>Field number for the "Outfit" field.</summary>
    public const int OutfitFieldNumber = 20;
    private static readonly pb::FieldCodec<int> _repeated_outfit_codec
        = pb::FieldCodec.ForInt32(162);
    private readonly pbc::RepeatedField<int> outfit_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Outfit {
      get { return outfit_; }
    }

    /// <summary>Field number for the "Tag" field.</summary>
    public const int TagFieldNumber = 21;
    private string tag_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag {
      get { return tag_; }
      set {
        tag_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Voice" field.</summary>
    public const int VoiceFieldNumber = 22;
    private string voice_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Voice {
      get { return voice_; }
      set {
        voice_ = 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 Gacha);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Gacha other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (DefaultId != other.DefaultId) return false;
      if (DefaultQty != other.DefaultQty) return false;
      if (CostId != other.CostId) return false;
      if (CostQty != other.CostQty) return false;
      if (OncePreferred != other.OncePreferred) return false;
      if (TenTimesPreferred != other.TenTimesPreferred) return false;
      if (LimitTimes != other.LimitTimes) return false;
      if (ATypeUpShowProb != other.ATypeUpShowProb) return false;
      if (BTypeUpShowProb != other.BTypeUpShowProb) return false;
      if (StorageId != other.StorageId) return false;
      if (StartTime != other.StartTime) return false;
      if (EndTime != other.EndTime) return false;
      if (Sort != other.Sort) return false;
      if (Icon != other.Icon) return false;
      if (Image != other.Image) return false;
      if(!uPCharacter_.Equals(other.uPCharacter_)) return false;
      if(!uPOutfit_.Equals(other.uPOutfit_)) return false;
      if(!character_.Equals(other.character_)) return false;
      if(!outfit_.Equals(other.outfit_)) return false;
      if (Tag != other.Tag) return false;
      if (Voice != other.Voice) 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 (DefaultId != 0) hash ^= DefaultId.GetHashCode();
      if (DefaultQty != 0) hash ^= DefaultQty.GetHashCode();
      if (CostId != 0) hash ^= CostId.GetHashCode();
      if (CostQty != 0) hash ^= CostQty.GetHashCode();
      if (OncePreferred.Length != 0) hash ^= OncePreferred.GetHashCode();
      if (TenTimesPreferred.Length != 0) hash ^= TenTimesPreferred.GetHashCode();
      if (LimitTimes != 0) hash ^= LimitTimes.GetHashCode();
      if (ATypeUpShowProb != 0) hash ^= ATypeUpShowProb.GetHashCode();
      if (BTypeUpShowProb != 0) hash ^= BTypeUpShowProb.GetHashCode();
      if (StorageId != 0) hash ^= StorageId.GetHashCode();
      if (StartTime.Length != 0) hash ^= StartTime.GetHashCode();
      if (EndTime.Length != 0) hash ^= EndTime.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Image.Length != 0) hash ^= Image.GetHashCode();
      hash ^= uPCharacter_.GetHashCode();
      hash ^= uPOutfit_.GetHashCode();
      hash ^= character_.GetHashCode();
      hash ^= outfit_.GetHashCode();
      if (Tag.Length != 0) hash ^= Tag.GetHashCode();
      if (Voice.Length != 0) hash ^= Voice.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.WriteInt32(Id);
      }
      if (DefaultId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DefaultId);
      }
      if (DefaultQty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DefaultQty);
      }
      if (CostId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CostId);
      }
      if (CostQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CostQty);
      }
      if (OncePreferred.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(OncePreferred);
      }
      if (TenTimesPreferred.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(TenTimesPreferred);
      }
      if (LimitTimes != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(LimitTimes);
      }
      if (ATypeUpShowProb != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(ATypeUpShowProb);
      }
      if (BTypeUpShowProb != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BTypeUpShowProb);
      }
      if (StorageId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(StorageId);
      }
      if (StartTime.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(StartTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(EndTime);
      }
      if (Sort != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Sort);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Icon);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Image);
      }
      uPCharacter_.WriteTo(output, _repeated_uPCharacter_codec);
      uPOutfit_.WriteTo(output, _repeated_uPOutfit_codec);
      character_.WriteTo(output, _repeated_character_codec);
      outfit_.WriteTo(output, _repeated_outfit_codec);
      if (Tag.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Tag);
      }
      if (Voice.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Voice);
      }
      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.WriteInt32(Id);
      }
      if (DefaultId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DefaultId);
      }
      if (DefaultQty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DefaultQty);
      }
      if (CostId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CostId);
      }
      if (CostQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CostQty);
      }
      if (OncePreferred.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(OncePreferred);
      }
      if (TenTimesPreferred.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(TenTimesPreferred);
      }
      if (LimitTimes != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(LimitTimes);
      }
      if (ATypeUpShowProb != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(ATypeUpShowProb);
      }
      if (BTypeUpShowProb != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BTypeUpShowProb);
      }
      if (StorageId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(StorageId);
      }
      if (StartTime.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(StartTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(EndTime);
      }
      if (Sort != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Sort);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Icon);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Image);
      }
      uPCharacter_.WriteTo(ref output, _repeated_uPCharacter_codec);
      uPOutfit_.WriteTo(ref output, _repeated_uPOutfit_codec);
      character_.WriteTo(ref output, _repeated_character_codec);
      outfit_.WriteTo(ref output, _repeated_outfit_codec);
      if (Tag.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Tag);
      }
      if (Voice.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Voice);
      }
      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.ComputeInt32Size(Id);
      }
      if (DefaultId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DefaultId);
      }
      if (DefaultQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DefaultQty);
      }
      if (CostId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CostId);
      }
      if (CostQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CostQty);
      }
      if (OncePreferred.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OncePreferred);
      }
      if (TenTimesPreferred.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TenTimesPreferred);
      }
      if (LimitTimes != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LimitTimes);
      }
      if (ATypeUpShowProb != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ATypeUpShowProb);
      }
      if (BTypeUpShowProb != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BTypeUpShowProb);
      }
      if (StorageId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StorageId);
      }
      if (StartTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StartTime);
      }
      if (EndTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndTime);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Image.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Image);
      }
      size += uPCharacter_.CalculateSize(_repeated_uPCharacter_codec);
      size += uPOutfit_.CalculateSize(_repeated_uPOutfit_codec);
      size += character_.CalculateSize(_repeated_character_codec);
      size += outfit_.CalculateSize(_repeated_outfit_codec);
      if (Tag.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag);
      }
      if (Voice.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Voice);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Gacha other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.DefaultId != 0) {
        DefaultId = other.DefaultId;
      }
      if (other.DefaultQty != 0) {
        DefaultQty = other.DefaultQty;
      }
      if (other.CostId != 0) {
        CostId = other.CostId;
      }
      if (other.CostQty != 0) {
        CostQty = other.CostQty;
      }
      if (other.OncePreferred.Length != 0) {
        OncePreferred = other.OncePreferred;
      }
      if (other.TenTimesPreferred.Length != 0) {
        TenTimesPreferred = other.TenTimesPreferred;
      }
      if (other.LimitTimes != 0) {
        LimitTimes = other.LimitTimes;
      }
      if (other.ATypeUpShowProb != 0) {
        ATypeUpShowProb = other.ATypeUpShowProb;
      }
      if (other.BTypeUpShowProb != 0) {
        BTypeUpShowProb = other.BTypeUpShowProb;
      }
      if (other.StorageId != 0) {
        StorageId = other.StorageId;
      }
      if (other.StartTime.Length != 0) {
        StartTime = other.StartTime;
      }
      if (other.EndTime.Length != 0) {
        EndTime = other.EndTime;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Image.Length != 0) {
        Image = other.Image;
      }
      uPCharacter_.Add(other.uPCharacter_);
      uPOutfit_.Add(other.uPOutfit_);
      character_.Add(other.character_);
      outfit_.Add(other.outfit_);
      if (other.Tag.Length != 0) {
        Tag = other.Tag;
      }
      if (other.Voice.Length != 0) {
        Voice = other.Voice;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            DefaultId = input.ReadInt32();
            break;
          }
          case 24: {
            DefaultQty = input.ReadInt32();
            break;
          }
          case 32: {
            CostId = input.ReadInt32();
            break;
          }
          case 40: {
            CostQty = input.ReadInt32();
            break;
          }
          case 50: {
            OncePreferred = input.ReadString();
            break;
          }
          case 58: {
            TenTimesPreferred = input.ReadString();
            break;
          }
          case 64: {
            LimitTimes = input.ReadInt32();
            break;
          }
          case 72: {
            ATypeUpShowProb = input.ReadInt32();
            break;
          }
          case 80: {
            BTypeUpShowProb = input.ReadInt32();
            break;
          }
          case 88: {
            StorageId = input.ReadInt32();
            break;
          }
          case 98: {
            StartTime = input.ReadString();
            break;
          }
          case 106: {
            EndTime = input.ReadString();
            break;
          }
          case 112: {
            Sort = input.ReadInt32();
            break;
          }
          case 122: {
            Icon = input.ReadString();
            break;
          }
          case 130: {
            Image = input.ReadString();
            break;
          }
          case 138:
          case 136: {
            uPCharacter_.AddEntriesFrom(input, _repeated_uPCharacter_codec);
            break;
          }
          case 146:
          case 144: {
            uPOutfit_.AddEntriesFrom(input, _repeated_uPOutfit_codec);
            break;
          }
          case 154:
          case 152: {
            character_.AddEntriesFrom(input, _repeated_character_codec);
            break;
          }
          case 162:
          case 160: {
            outfit_.AddEntriesFrom(input, _repeated_outfit_codec);
            break;
          }
          case 170: {
            Tag = input.ReadString();
            break;
          }
          case 178: {
            Voice = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            DefaultId = input.ReadInt32();
            break;
          }
          case 24: {
            DefaultQty = input.ReadInt32();
            break;
          }
          case 32: {
            CostId = input.ReadInt32();
            break;
          }
          case 40: {
            CostQty = input.ReadInt32();
            break;
          }
          case 50: {
            OncePreferred = input.ReadString();
            break;
          }
          case 58: {
            TenTimesPreferred = input.ReadString();
            break;
          }
          case 64: {
            LimitTimes = input.ReadInt32();
            break;
          }
          case 72: {
            ATypeUpShowProb = input.ReadInt32();
            break;
          }
          case 80: {
            BTypeUpShowProb = input.ReadInt32();
            break;
          }
          case 88: {
            StorageId = input.ReadInt32();
            break;
          }
          case 98: {
            StartTime = input.ReadString();
            break;
          }
          case 106: {
            EndTime = input.ReadString();
            break;
          }
          case 112: {
            Sort = input.ReadInt32();
            break;
          }
          case 122: {
            Icon = input.ReadString();
            break;
          }
          case 130: {
            Image = input.ReadString();
            break;
          }
          case 138:
          case 136: {
            uPCharacter_.AddEntriesFrom(ref input, _repeated_uPCharacter_codec);
            break;
          }
          case 146:
          case 144: {
            uPOutfit_.AddEntriesFrom(ref input, _repeated_uPOutfit_codec);
            break;
          }
          case 154:
          case 152: {
            character_.AddEntriesFrom(ref input, _repeated_character_codec);
            break;
          }
          case 162:
          case 160: {
            outfit_.AddEntriesFrom(ref input, _repeated_outfit_codec);
            break;
          }
          case 170: {
            Tag = input.ReadString();
            break;
          }
          case 178: {
            Voice = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Gacha : pb::IMessage<table_Gacha>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Gacha> _parser = new pb::MessageParser<table_Gacha>(() => new table_Gacha());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Gacha> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[195]; }
    }

    [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 table_Gacha() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Gacha(table_Gacha other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Gacha Clone() {
      return new table_Gacha(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Gacha> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Gacha.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Gacha> list_ = new pbc::RepeatedField<global::Nova.Client.Gacha>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Gacha> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Gacha);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Gacha other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Gacha other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class GachaAcquireReward : pb::IMessage<GachaAcquireReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GachaAcquireReward> _parser = new pb::MessageParser<GachaAcquireReward>(() => new GachaAcquireReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GachaAcquireReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[196]; }
    }

    [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 GachaAcquireReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GachaAcquireReward(GachaAcquireReward other) : this() {
      id_ = other.id_;
      itemStype_ = other.itemStype_;
      itemRarity_ = other.itemRarity_;
      acquireTimes_ = other.acquireTimes_;
      itemId_ = other.itemId_;
      itemNum_ = other.itemNum_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GachaAcquireReward Clone() {
      return new GachaAcquireReward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "itemStype" field.</summary>
    public const int ItemStypeFieldNumber = 2;
    private int itemStype_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemStype {
      get { return itemStype_; }
      set {
        itemStype_ = value;
      }
    }

    /// <summary>Field number for the "itemRarity" field.</summary>
    public const int ItemRarityFieldNumber = 3;
    private int itemRarity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemRarity {
      get { return itemRarity_; }
      set {
        itemRarity_ = value;
      }
    }

    /// <summary>Field number for the "AcquireTimes" field.</summary>
    public const int AcquireTimesFieldNumber = 4;
    private int acquireTimes_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AcquireTimes {
      get { return acquireTimes_; }
      set {
        acquireTimes_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 5;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ItemNum" field.</summary>
    public const int ItemNumFieldNumber = 6;
    private int itemNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemNum {
      get { return itemNum_; }
      set {
        itemNum_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GachaAcquireReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GachaAcquireReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ItemStype != other.ItemStype) return false;
      if (ItemRarity != other.ItemRarity) return false;
      if (AcquireTimes != other.AcquireTimes) return false;
      if (ItemId != other.ItemId) return false;
      if (ItemNum != other.ItemNum) 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 (ItemStype != 0) hash ^= ItemStype.GetHashCode();
      if (ItemRarity != 0) hash ^= ItemRarity.GetHashCode();
      if (AcquireTimes != 0) hash ^= AcquireTimes.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ItemNum != 0) hash ^= ItemNum.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.WriteInt32(Id);
      }
      if (ItemStype != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemStype);
      }
      if (ItemRarity != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ItemRarity);
      }
      if (AcquireTimes != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AcquireTimes);
      }
      if (ItemId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemId);
      }
      if (ItemNum != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ItemNum);
      }
      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.WriteInt32(Id);
      }
      if (ItemStype != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemStype);
      }
      if (ItemRarity != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ItemRarity);
      }
      if (AcquireTimes != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AcquireTimes);
      }
      if (ItemId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemId);
      }
      if (ItemNum != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ItemNum);
      }
      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.ComputeInt32Size(Id);
      }
      if (ItemStype != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemStype);
      }
      if (ItemRarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemRarity);
      }
      if (AcquireTimes != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AcquireTimes);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ItemNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemNum);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GachaAcquireReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ItemStype != 0) {
        ItemStype = other.ItemStype;
      }
      if (other.ItemRarity != 0) {
        ItemRarity = other.ItemRarity;
      }
      if (other.AcquireTimes != 0) {
        AcquireTimes = other.AcquireTimes;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ItemNum != 0) {
        ItemNum = other.ItemNum;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ItemStype = input.ReadInt32();
            break;
          }
          case 24: {
            ItemRarity = input.ReadInt32();
            break;
          }
          case 32: {
            AcquireTimes = input.ReadInt32();
            break;
          }
          case 40: {
            ItemId = input.ReadInt32();
            break;
          }
          case 48: {
            ItemNum = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ItemStype = input.ReadInt32();
            break;
          }
          case 24: {
            ItemRarity = input.ReadInt32();
            break;
          }
          case 32: {
            AcquireTimes = input.ReadInt32();
            break;
          }
          case 40: {
            ItemId = input.ReadInt32();
            break;
          }
          case 48: {
            ItemNum = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_GachaAcquireReward : pb::IMessage<table_GachaAcquireReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_GachaAcquireReward> _parser = new pb::MessageParser<table_GachaAcquireReward>(() => new table_GachaAcquireReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_GachaAcquireReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[197]; }
    }

    [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 table_GachaAcquireReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GachaAcquireReward(table_GachaAcquireReward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GachaAcquireReward Clone() {
      return new table_GachaAcquireReward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.GachaAcquireReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.GachaAcquireReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.GachaAcquireReward> list_ = new pbc::RepeatedField<global::Nova.Client.GachaAcquireReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.GachaAcquireReward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_GachaAcquireReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_GachaAcquireReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_GachaAcquireReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class GachaType : pb::IMessage<GachaType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GachaType> _parser = new pb::MessageParser<GachaType>(() => new GachaType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GachaType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[198]; }
    }

    [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 GachaType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GachaType(GachaType other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      coinItem_ = other.coinItem_.Clone();
      title1_ = other.title1_;
      desc1_ = other.desc1_;
      title2_ = other.title2_;
      desc2_ = other.desc2_;
      title3_ = other.title3_;
      desc3_ = other.desc3_;
      title4_ = other.title4_;
      desc4_ = other.desc4_;
      desc5_ = other.desc5_;
      title5_ = other.title5_;
      desc6_ = other.desc6_;
      desc7_ = other.desc7_;
      desc8_ = other.desc8_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GachaType Clone() {
      return new GachaType(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CoinItem" field.</summary>
    public const int CoinItemFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_coinItem_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> coinItem_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CoinItem {
      get { return coinItem_; }
    }

    /// <summary>Field number for the "Title1" field.</summary>
    public const int Title1FieldNumber = 4;
    private string title1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title1 {
      get { return title1_; }
      set {
        title1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc1" field.</summary>
    public const int Desc1FieldNumber = 5;
    private string desc1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc1 {
      get { return desc1_; }
      set {
        desc1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title2" field.</summary>
    public const int Title2FieldNumber = 6;
    private string title2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title2 {
      get { return title2_; }
      set {
        title2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc2" field.</summary>
    public const int Desc2FieldNumber = 7;
    private string desc2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc2 {
      get { return desc2_; }
      set {
        desc2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title3" field.</summary>
    public const int Title3FieldNumber = 8;
    private string title3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title3 {
      get { return title3_; }
      set {
        title3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc3" field.</summary>
    public const int Desc3FieldNumber = 9;
    private string desc3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc3 {
      get { return desc3_; }
      set {
        desc3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title4" field.</summary>
    public const int Title4FieldNumber = 10;
    private string title4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title4 {
      get { return title4_; }
      set {
        title4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc4" field.</summary>
    public const int Desc4FieldNumber = 11;
    private string desc4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc4 {
      get { return desc4_; }
      set {
        desc4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc5" field.</summary>
    public const int Desc5FieldNumber = 12;
    private string desc5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc5 {
      get { return desc5_; }
      set {
        desc5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title5" field.</summary>
    public const int Title5FieldNumber = 13;
    private string title5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title5 {
      get { return title5_; }
      set {
        title5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc6" field.</summary>
    public const int Desc6FieldNumber = 14;
    private string desc6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc6 {
      get { return desc6_; }
      set {
        desc6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc7" field.</summary>
    public const int Desc7FieldNumber = 15;
    private string desc7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc7 {
      get { return desc7_; }
      set {
        desc7_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc8" field.</summary>
    public const int Desc8FieldNumber = 16;
    private string desc8_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc8 {
      get { return desc8_; }
      set {
        desc8_ = 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 GachaType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GachaType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if(!coinItem_.Equals(other.coinItem_)) return false;
      if (Title1 != other.Title1) return false;
      if (Desc1 != other.Desc1) return false;
      if (Title2 != other.Title2) return false;
      if (Desc2 != other.Desc2) return false;
      if (Title3 != other.Title3) return false;
      if (Desc3 != other.Desc3) return false;
      if (Title4 != other.Title4) return false;
      if (Desc4 != other.Desc4) return false;
      if (Desc5 != other.Desc5) return false;
      if (Title5 != other.Title5) return false;
      if (Desc6 != other.Desc6) return false;
      if (Desc7 != other.Desc7) return false;
      if (Desc8 != other.Desc8) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      hash ^= coinItem_.GetHashCode();
      if (Title1.Length != 0) hash ^= Title1.GetHashCode();
      if (Desc1.Length != 0) hash ^= Desc1.GetHashCode();
      if (Title2.Length != 0) hash ^= Title2.GetHashCode();
      if (Desc2.Length != 0) hash ^= Desc2.GetHashCode();
      if (Title3.Length != 0) hash ^= Title3.GetHashCode();
      if (Desc3.Length != 0) hash ^= Desc3.GetHashCode();
      if (Title4.Length != 0) hash ^= Title4.GetHashCode();
      if (Desc4.Length != 0) hash ^= Desc4.GetHashCode();
      if (Desc5.Length != 0) hash ^= Desc5.GetHashCode();
      if (Title5.Length != 0) hash ^= Title5.GetHashCode();
      if (Desc6.Length != 0) hash ^= Desc6.GetHashCode();
      if (Desc7.Length != 0) hash ^= Desc7.GetHashCode();
      if (Desc8.Length != 0) hash ^= Desc8.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      coinItem_.WriteTo(output, _repeated_coinItem_codec);
      if (Title1.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title1);
      }
      if (Desc1.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc1);
      }
      if (Title2.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Title2);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc2);
      }
      if (Title3.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Title3);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc3);
      }
      if (Title4.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Title4);
      }
      if (Desc4.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Desc4);
      }
      if (Desc5.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Desc5);
      }
      if (Title5.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Title5);
      }
      if (Desc6.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Desc6);
      }
      if (Desc7.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Desc7);
      }
      if (Desc8.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Desc8);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      coinItem_.WriteTo(ref output, _repeated_coinItem_codec);
      if (Title1.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title1);
      }
      if (Desc1.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc1);
      }
      if (Title2.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Title2);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc2);
      }
      if (Title3.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Title3);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc3);
      }
      if (Title4.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Title4);
      }
      if (Desc4.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Desc4);
      }
      if (Desc5.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Desc5);
      }
      if (Title5.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Title5);
      }
      if (Desc6.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Desc6);
      }
      if (Desc7.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Desc7);
      }
      if (Desc8.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Desc8);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      size += coinItem_.CalculateSize(_repeated_coinItem_codec);
      if (Title1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title1);
      }
      if (Desc1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc1);
      }
      if (Title2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title2);
      }
      if (Desc2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc2);
      }
      if (Title3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title3);
      }
      if (Desc3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc3);
      }
      if (Title4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title4);
      }
      if (Desc4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc4);
      }
      if (Desc5.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc5);
      }
      if (Title5.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title5);
      }
      if (Desc6.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc6);
      }
      if (Desc7.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc7);
      }
      if (Desc8.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc8);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GachaType other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      coinItem_.Add(other.coinItem_);
      if (other.Title1.Length != 0) {
        Title1 = other.Title1;
      }
      if (other.Desc1.Length != 0) {
        Desc1 = other.Desc1;
      }
      if (other.Title2.Length != 0) {
        Title2 = other.Title2;
      }
      if (other.Desc2.Length != 0) {
        Desc2 = other.Desc2;
      }
      if (other.Title3.Length != 0) {
        Title3 = other.Title3;
      }
      if (other.Desc3.Length != 0) {
        Desc3 = other.Desc3;
      }
      if (other.Title4.Length != 0) {
        Title4 = other.Title4;
      }
      if (other.Desc4.Length != 0) {
        Desc4 = other.Desc4;
      }
      if (other.Desc5.Length != 0) {
        Desc5 = other.Desc5;
      }
      if (other.Title5.Length != 0) {
        Title5 = other.Title5;
      }
      if (other.Desc6.Length != 0) {
        Desc6 = other.Desc6;
      }
      if (other.Desc7.Length != 0) {
        Desc7 = other.Desc7;
      }
      if (other.Desc8.Length != 0) {
        Desc8 = other.Desc8;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            coinItem_.AddEntriesFrom(input, _repeated_coinItem_codec);
            break;
          }
          case 34: {
            Title1 = input.ReadString();
            break;
          }
          case 42: {
            Desc1 = input.ReadString();
            break;
          }
          case 50: {
            Title2 = input.ReadString();
            break;
          }
          case 58: {
            Desc2 = input.ReadString();
            break;
          }
          case 66: {
            Title3 = input.ReadString();
            break;
          }
          case 74: {
            Desc3 = input.ReadString();
            break;
          }
          case 82: {
            Title4 = input.ReadString();
            break;
          }
          case 90: {
            Desc4 = input.ReadString();
            break;
          }
          case 98: {
            Desc5 = input.ReadString();
            break;
          }
          case 106: {
            Title5 = input.ReadString();
            break;
          }
          case 114: {
            Desc6 = input.ReadString();
            break;
          }
          case 122: {
            Desc7 = input.ReadString();
            break;
          }
          case 130: {
            Desc8 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            coinItem_.AddEntriesFrom(ref input, _repeated_coinItem_codec);
            break;
          }
          case 34: {
            Title1 = input.ReadString();
            break;
          }
          case 42: {
            Desc1 = input.ReadString();
            break;
          }
          case 50: {
            Title2 = input.ReadString();
            break;
          }
          case 58: {
            Desc2 = input.ReadString();
            break;
          }
          case 66: {
            Title3 = input.ReadString();
            break;
          }
          case 74: {
            Desc3 = input.ReadString();
            break;
          }
          case 82: {
            Title4 = input.ReadString();
            break;
          }
          case 90: {
            Desc4 = input.ReadString();
            break;
          }
          case 98: {
            Desc5 = input.ReadString();
            break;
          }
          case 106: {
            Title5 = input.ReadString();
            break;
          }
          case 114: {
            Desc6 = input.ReadString();
            break;
          }
          case 122: {
            Desc7 = input.ReadString();
            break;
          }
          case 130: {
            Desc8 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_GachaType : pb::IMessage<table_GachaType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_GachaType> _parser = new pb::MessageParser<table_GachaType>(() => new table_GachaType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_GachaType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[199]; }
    }

    [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 table_GachaType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GachaType(table_GachaType other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GachaType Clone() {
      return new table_GachaType(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.GachaType> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.GachaType.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.GachaType> list_ = new pbc::RepeatedField<global::Nova.Client.GachaType>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.GachaType> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_GachaType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_GachaType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_GachaType other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class GamepadButton : pb::IMessage<GamepadButton>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GamepadButton> _parser = new pb::MessageParser<GamepadButton>(() => new GamepadButton());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GamepadButton> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[200]; }
    }

    [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 GamepadButton() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GamepadButton(GamepadButton other) : this() {
      id_ = other.id_;
      xboxIcon_ = other.xboxIcon_;
      playStationIcon_ = other.playStationIcon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GamepadButton Clone() {
      return new GamepadButton(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "XboxIcon" field.</summary>
    public const int XboxIconFieldNumber = 2;
    private string xboxIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string XboxIcon {
      get { return xboxIcon_; }
      set {
        xboxIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PlayStationIcon" field.</summary>
    public const int PlayStationIconFieldNumber = 3;
    private string playStationIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PlayStationIcon {
      get { return playStationIcon_; }
      set {
        playStationIcon_ = 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 GamepadButton);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GamepadButton other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (XboxIcon != other.XboxIcon) return false;
      if (PlayStationIcon != other.PlayStationIcon) 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.Length != 0) hash ^= Id.GetHashCode();
      if (XboxIcon.Length != 0) hash ^= XboxIcon.GetHashCode();
      if (PlayStationIcon.Length != 0) hash ^= PlayStationIcon.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (XboxIcon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(XboxIcon);
      }
      if (PlayStationIcon.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PlayStationIcon);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (XboxIcon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(XboxIcon);
      }
      if (PlayStationIcon.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PlayStationIcon);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (XboxIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(XboxIcon);
      }
      if (PlayStationIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PlayStationIcon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GamepadButton other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.XboxIcon.Length != 0) {
        XboxIcon = other.XboxIcon;
      }
      if (other.PlayStationIcon.Length != 0) {
        PlayStationIcon = other.PlayStationIcon;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            XboxIcon = input.ReadString();
            break;
          }
          case 26: {
            PlayStationIcon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            XboxIcon = input.ReadString();
            break;
          }
          case 26: {
            PlayStationIcon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_GamepadButton : pb::IMessage<table_GamepadButton>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_GamepadButton> _parser = new pb::MessageParser<table_GamepadButton>(() => new table_GamepadButton());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_GamepadButton> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[201]; }
    }

    [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 table_GamepadButton() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GamepadButton(table_GamepadButton other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GamepadButton Clone() {
      return new table_GamepadButton(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.GamepadButton> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.GamepadButton.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.GamepadButton> list_ = new pbc::RepeatedField<global::Nova.Client.GamepadButton>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.GamepadButton> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_GamepadButton);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_GamepadButton other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_GamepadButton other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class GMBuild : pb::IMessage<GMBuild>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GMBuild> _parser = new pb::MessageParser<GMBuild>(() => new GMBuild());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GMBuild> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[202]; }
    }

    [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 GMBuild() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GMBuild(GMBuild other) : this() {
      id_ = other.id_;
      buildData_ = other.buildData_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GMBuild Clone() {
      return new GMBuild(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "BuildData" field.</summary>
    public const int BuildDataFieldNumber = 2;
    private string buildData_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BuildData {
      get { return buildData_; }
      set {
        buildData_ = 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 GMBuild);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GMBuild other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (BuildData != other.BuildData) 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 (BuildData.Length != 0) hash ^= BuildData.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.WriteInt32(Id);
      }
      if (BuildData.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(BuildData);
      }
      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.WriteInt32(Id);
      }
      if (BuildData.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(BuildData);
      }
      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.ComputeInt32Size(Id);
      }
      if (BuildData.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BuildData);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GMBuild other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.BuildData.Length != 0) {
        BuildData = other.BuildData;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            BuildData = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            BuildData = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_GMBuild : pb::IMessage<table_GMBuild>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_GMBuild> _parser = new pb::MessageParser<table_GMBuild>(() => new table_GMBuild());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_GMBuild> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[203]; }
    }

    [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 table_GMBuild() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GMBuild(table_GMBuild other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GMBuild Clone() {
      return new table_GMBuild(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.GMBuild> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.GMBuild.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.GMBuild> list_ = new pbc::RepeatedField<global::Nova.Client.GMBuild>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.GMBuild> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_GMBuild);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_GMBuild other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_GMBuild other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class GMOrder : pb::IMessage<GMOrder>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GMOrder> _parser = new pb::MessageParser<GMOrder>(() => new GMOrder());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GMOrder> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[204]; }
    }

    [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 GMOrder() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GMOrder(GMOrder other) : this() {
      order_ = other.order_;
      desc_ = other.desc_;
      paramCount_ = other.paramCount_;
      paramName1_ = other.paramName1_;
      paramName2_ = other.paramName2_;
      paramName3_ = other.paramName3_;
      paramName4_ = other.paramName4_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GMOrder Clone() {
      return new GMOrder(this);
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 1;
    private string order_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Order {
      get { return order_; }
      set {
        order_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 2;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ParamCount" field.</summary>
    public const int ParamCountFieldNumber = 3;
    private int paramCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ParamCount {
      get { return paramCount_; }
      set {
        paramCount_ = value;
      }
    }

    /// <summary>Field number for the "ParamName1" field.</summary>
    public const int ParamName1FieldNumber = 4;
    private string paramName1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParamName1 {
      get { return paramName1_; }
      set {
        paramName1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ParamName2" field.</summary>
    public const int ParamName2FieldNumber = 5;
    private string paramName2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParamName2 {
      get { return paramName2_; }
      set {
        paramName2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ParamName3" field.</summary>
    public const int ParamName3FieldNumber = 6;
    private string paramName3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParamName3 {
      get { return paramName3_; }
      set {
        paramName3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ParamName4" field.</summary>
    public const int ParamName4FieldNumber = 7;
    private string paramName4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParamName4 {
      get { return paramName4_; }
      set {
        paramName4_ = 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 GMOrder);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GMOrder other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Order != other.Order) return false;
      if (Desc != other.Desc) return false;
      if (ParamCount != other.ParamCount) return false;
      if (ParamName1 != other.ParamName1) return false;
      if (ParamName2 != other.ParamName2) return false;
      if (ParamName3 != other.ParamName3) return false;
      if (ParamName4 != other.ParamName4) 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 (Order.Length != 0) hash ^= Order.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (ParamCount != 0) hash ^= ParamCount.GetHashCode();
      if (ParamName1.Length != 0) hash ^= ParamName1.GetHashCode();
      if (ParamName2.Length != 0) hash ^= ParamName2.GetHashCode();
      if (ParamName3.Length != 0) hash ^= ParamName3.GetHashCode();
      if (ParamName4.Length != 0) hash ^= ParamName4.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 (Order.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Order);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Desc);
      }
      if (ParamCount != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ParamCount);
      }
      if (ParamName1.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ParamName1);
      }
      if (ParamName2.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ParamName2);
      }
      if (ParamName3.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ParamName3);
      }
      if (ParamName4.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ParamName4);
      }
      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 (Order.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Order);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Desc);
      }
      if (ParamCount != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ParamCount);
      }
      if (ParamName1.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(ParamName1);
      }
      if (ParamName2.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(ParamName2);
      }
      if (ParamName3.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ParamName3);
      }
      if (ParamName4.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(ParamName4);
      }
      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 (Order.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Order);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (ParamCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ParamCount);
      }
      if (ParamName1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParamName1);
      }
      if (ParamName2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParamName2);
      }
      if (ParamName3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParamName3);
      }
      if (ParamName4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParamName4);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GMOrder other) {
      if (other == null) {
        return;
      }
      if (other.Order.Length != 0) {
        Order = other.Order;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.ParamCount != 0) {
        ParamCount = other.ParamCount;
      }
      if (other.ParamName1.Length != 0) {
        ParamName1 = other.ParamName1;
      }
      if (other.ParamName2.Length != 0) {
        ParamName2 = other.ParamName2;
      }
      if (other.ParamName3.Length != 0) {
        ParamName3 = other.ParamName3;
      }
      if (other.ParamName4.Length != 0) {
        ParamName4 = other.ParamName4;
      }
      _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: {
            Order = input.ReadString();
            break;
          }
          case 18: {
            Desc = input.ReadString();
            break;
          }
          case 24: {
            ParamCount = input.ReadInt32();
            break;
          }
          case 34: {
            ParamName1 = input.ReadString();
            break;
          }
          case 42: {
            ParamName2 = input.ReadString();
            break;
          }
          case 50: {
            ParamName3 = input.ReadString();
            break;
          }
          case 58: {
            ParamName4 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Order = input.ReadString();
            break;
          }
          case 18: {
            Desc = input.ReadString();
            break;
          }
          case 24: {
            ParamCount = input.ReadInt32();
            break;
          }
          case 34: {
            ParamName1 = input.ReadString();
            break;
          }
          case 42: {
            ParamName2 = input.ReadString();
            break;
          }
          case 50: {
            ParamName3 = input.ReadString();
            break;
          }
          case 58: {
            ParamName4 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_GMOrder : pb::IMessage<table_GMOrder>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_GMOrder> _parser = new pb::MessageParser<table_GMOrder>(() => new table_GMOrder());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_GMOrder> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[205]; }
    }

    [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 table_GMOrder() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GMOrder(table_GMOrder other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GMOrder Clone() {
      return new table_GMOrder(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.GMOrder> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.GMOrder.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.GMOrder> list_ = new pbc::RepeatedField<global::Nova.Client.GMOrder>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.GMOrder> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_GMOrder);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_GMOrder other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_GMOrder other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class GMTeam : pb::IMessage<GMTeam>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GMTeam> _parser = new pb::MessageParser<GMTeam>(() => new GMTeam());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GMTeam> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[206]; }
    }

    [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 GMTeam() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GMTeam(GMTeam other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      teamCharacter_ = other.teamCharacter_.Clone();
      teamDisc_ = other.teamDisc_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GMTeam Clone() {
      return new GMTeam(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TeamCharacter" field.</summary>
    public const int TeamCharacterFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_teamCharacter_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> teamCharacter_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TeamCharacter {
      get { return teamCharacter_; }
    }

    /// <summary>Field number for the "TeamDisc" field.</summary>
    public const int TeamDiscFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_teamDisc_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> teamDisc_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TeamDisc {
      get { return teamDisc_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GMTeam);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GMTeam other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if(!teamCharacter_.Equals(other.teamCharacter_)) return false;
      if(!teamDisc_.Equals(other.teamDisc_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      hash ^= teamCharacter_.GetHashCode();
      hash ^= teamDisc_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      teamCharacter_.WriteTo(output, _repeated_teamCharacter_codec);
      teamDisc_.WriteTo(output, _repeated_teamDisc_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      teamCharacter_.WriteTo(ref output, _repeated_teamCharacter_codec);
      teamDisc_.WriteTo(ref output, _repeated_teamDisc_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      size += teamCharacter_.CalculateSize(_repeated_teamCharacter_codec);
      size += teamDisc_.CalculateSize(_repeated_teamDisc_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GMTeam other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      teamCharacter_.Add(other.teamCharacter_);
      teamDisc_.Add(other.teamDisc_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            teamCharacter_.AddEntriesFrom(input, _repeated_teamCharacter_codec);
            break;
          }
          case 34:
          case 32: {
            teamDisc_.AddEntriesFrom(input, _repeated_teamDisc_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            teamCharacter_.AddEntriesFrom(ref input, _repeated_teamCharacter_codec);
            break;
          }
          case 34:
          case 32: {
            teamDisc_.AddEntriesFrom(ref input, _repeated_teamDisc_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_GMTeam : pb::IMessage<table_GMTeam>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_GMTeam> _parser = new pb::MessageParser<table_GMTeam>(() => new table_GMTeam());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_GMTeam> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[207]; }
    }

    [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 table_GMTeam() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GMTeam(table_GMTeam other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GMTeam Clone() {
      return new table_GMTeam(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.GMTeam> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.GMTeam.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.GMTeam> list_ = new pbc::RepeatedField<global::Nova.Client.GMTeam>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.GMTeam> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_GMTeam);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_GMTeam other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_GMTeam other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Guide : pb::IMessage<Guide>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Guide> _parser = new pb::MessageParser<Guide>(() => new Guide());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Guide> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[208]; }
    }

    [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 Guide() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Guide(Guide other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      step_ = other.step_;
      type_ = other.type_;
      guidePrepose_ = other.guidePrepose_;
      preposeParams_ = other.preposeParams_;
      guideTrigger_ = other.guideTrigger_;
      triggerParams_ = other.triggerParams_;
      endType_ = other.endType_;
      centerOffset_ = other.centerOffset_;
      bindIcon_ = other.bindIcon_.Clone();
      bindIconChildCount_ = other.bindIconChildCount_;
      size_ = other.size_.Clone();
      deviation_ = other.deviation_.Clone();
      delay_ = other.delay_;
      head_ = other.head_;
      desc_ = other.desc_;
      descDeviation_ = other.descDeviation_.Clone();
      handDeviation_ = other.handDeviation_.Clone();
      handRotation_ = other.handRotation_;
      dictionary_ = other.dictionary_;
      avgId_ = other.avgId_;
      isActive_ = other.isActive_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Guide Clone() {
      return new Guide(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Step" field.</summary>
    public const int StepFieldNumber = 3;
    private int step_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Step {
      get { return step_; }
      set {
        step_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 4;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "GuidePrepose" field.</summary>
    public const int GuidePreposeFieldNumber = 5;
    private int guidePrepose_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuidePrepose {
      get { return guidePrepose_; }
      set {
        guidePrepose_ = value;
      }
    }

    /// <summary>Field number for the "PreposeParams" field.</summary>
    public const int PreposeParamsFieldNumber = 6;
    private string preposeParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PreposeParams {
      get { return preposeParams_; }
      set {
        preposeParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GuideTrigger" field.</summary>
    public const int GuideTriggerFieldNumber = 7;
    private int guideTrigger_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuideTrigger {
      get { return guideTrigger_; }
      set {
        guideTrigger_ = value;
      }
    }

    /// <summary>Field number for the "TriggerParams" field.</summary>
    public const int TriggerParamsFieldNumber = 8;
    private string triggerParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerParams {
      get { return triggerParams_; }
      set {
        triggerParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EndType" field.</summary>
    public const int EndTypeFieldNumber = 9;
    private int endType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EndType {
      get { return endType_; }
      set {
        endType_ = value;
      }
    }

    /// <summary>Field number for the "CenterOffset" field.</summary>
    public const int CenterOffsetFieldNumber = 10;
    private float centerOffset_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float CenterOffset {
      get { return centerOffset_; }
      set {
        centerOffset_ = value;
      }
    }

    /// <summary>Field number for the "BindIcon" field.</summary>
    public const int BindIconFieldNumber = 11;
    private static readonly pb::FieldCodec<string> _repeated_bindIcon_codec
        = pb::FieldCodec.ForString(90);
    private readonly pbc::RepeatedField<string> bindIcon_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> BindIcon {
      get { return bindIcon_; }
    }

    /// <summary>Field number for the "BindIconChildCount" field.</summary>
    public const int BindIconChildCountFieldNumber = 12;
    private int bindIconChildCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BindIconChildCount {
      get { return bindIconChildCount_; }
      set {
        bindIconChildCount_ = value;
      }
    }

    /// <summary>Field number for the "Size" field.</summary>
    public const int SizeFieldNumber = 13;
    private static readonly pb::FieldCodec<int> _repeated_size_codec
        = pb::FieldCodec.ForInt32(106);
    private readonly pbc::RepeatedField<int> size_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Size {
      get { return size_; }
    }

    /// <summary>Field number for the "Deviation" field.</summary>
    public const int DeviationFieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_deviation_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> deviation_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Deviation {
      get { return deviation_; }
    }

    /// <summary>Field number for the "Delay" field.</summary>
    public const int DelayFieldNumber = 15;
    private int delay_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Delay {
      get { return delay_; }
      set {
        delay_ = value;
      }
    }

    /// <summary>Field number for the "Head" field.</summary>
    public const int HeadFieldNumber = 16;
    private string head_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Head {
      get { return head_; }
      set {
        head_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 17;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DescDeviation" field.</summary>
    public const int DescDeviationFieldNumber = 18;
    private static readonly pb::FieldCodec<int> _repeated_descDeviation_codec
        = pb::FieldCodec.ForInt32(146);
    private readonly pbc::RepeatedField<int> descDeviation_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DescDeviation {
      get { return descDeviation_; }
    }

    /// <summary>Field number for the "HandDeviation" field.</summary>
    public const int HandDeviationFieldNumber = 19;
    private static readonly pb::FieldCodec<int> _repeated_handDeviation_codec
        = pb::FieldCodec.ForInt32(154);
    private readonly pbc::RepeatedField<int> handDeviation_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> HandDeviation {
      get { return handDeviation_; }
    }

    /// <summary>Field number for the "HandRotation" field.</summary>
    public const int HandRotationFieldNumber = 20;
    private int handRotation_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HandRotation {
      get { return handRotation_; }
      set {
        handRotation_ = value;
      }
    }

    /// <summary>Field number for the "Dictionary" field.</summary>
    public const int DictionaryFieldNumber = 21;
    private int dictionary_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Dictionary {
      get { return dictionary_; }
      set {
        dictionary_ = value;
      }
    }

    /// <summary>Field number for the "AvgId" field.</summary>
    public const int AvgIdFieldNumber = 22;
    private string avgId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AvgId {
      get { return avgId_; }
      set {
        avgId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsActive" field.</summary>
    public const int IsActiveFieldNumber = 23;
    private bool isActive_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsActive {
      get { return isActive_; }
      set {
        isActive_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Guide);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Guide other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Step != other.Step) return false;
      if (Type != other.Type) return false;
      if (GuidePrepose != other.GuidePrepose) return false;
      if (PreposeParams != other.PreposeParams) return false;
      if (GuideTrigger != other.GuideTrigger) return false;
      if (TriggerParams != other.TriggerParams) return false;
      if (EndType != other.EndType) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(CenterOffset, other.CenterOffset)) return false;
      if(!bindIcon_.Equals(other.bindIcon_)) return false;
      if (BindIconChildCount != other.BindIconChildCount) return false;
      if(!size_.Equals(other.size_)) return false;
      if(!deviation_.Equals(other.deviation_)) return false;
      if (Delay != other.Delay) return false;
      if (Head != other.Head) return false;
      if (Desc != other.Desc) return false;
      if(!descDeviation_.Equals(other.descDeviation_)) return false;
      if(!handDeviation_.Equals(other.handDeviation_)) return false;
      if (HandRotation != other.HandRotation) return false;
      if (Dictionary != other.Dictionary) return false;
      if (AvgId != other.AvgId) return false;
      if (IsActive != other.IsActive) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Step != 0) hash ^= Step.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (GuidePrepose != 0) hash ^= GuidePrepose.GetHashCode();
      if (PreposeParams.Length != 0) hash ^= PreposeParams.GetHashCode();
      if (GuideTrigger != 0) hash ^= GuideTrigger.GetHashCode();
      if (TriggerParams.Length != 0) hash ^= TriggerParams.GetHashCode();
      if (EndType != 0) hash ^= EndType.GetHashCode();
      if (CenterOffset != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(CenterOffset);
      hash ^= bindIcon_.GetHashCode();
      if (BindIconChildCount != 0) hash ^= BindIconChildCount.GetHashCode();
      hash ^= size_.GetHashCode();
      hash ^= deviation_.GetHashCode();
      if (Delay != 0) hash ^= Delay.GetHashCode();
      if (Head.Length != 0) hash ^= Head.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      hash ^= descDeviation_.GetHashCode();
      hash ^= handDeviation_.GetHashCode();
      if (HandRotation != 0) hash ^= HandRotation.GetHashCode();
      if (Dictionary != 0) hash ^= Dictionary.GetHashCode();
      if (AvgId.Length != 0) hash ^= AvgId.GetHashCode();
      if (IsActive != false) hash ^= IsActive.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Step != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Step);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (GuidePrepose != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(GuidePrepose);
      }
      if (PreposeParams.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(PreposeParams);
      }
      if (GuideTrigger != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GuideTrigger);
      }
      if (TriggerParams.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(TriggerParams);
      }
      if (EndType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(EndType);
      }
      if (CenterOffset != 0F) {
        output.WriteRawTag(85);
        output.WriteFloat(CenterOffset);
      }
      bindIcon_.WriteTo(output, _repeated_bindIcon_codec);
      if (BindIconChildCount != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(BindIconChildCount);
      }
      size_.WriteTo(output, _repeated_size_codec);
      deviation_.WriteTo(output, _repeated_deviation_codec);
      if (Delay != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Delay);
      }
      if (Head.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Head);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Desc);
      }
      descDeviation_.WriteTo(output, _repeated_descDeviation_codec);
      handDeviation_.WriteTo(output, _repeated_handDeviation_codec);
      if (HandRotation != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(HandRotation);
      }
      if (Dictionary != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(Dictionary);
      }
      if (AvgId.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(AvgId);
      }
      if (IsActive != false) {
        output.WriteRawTag(184, 1);
        output.WriteBool(IsActive);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Step != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Step);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (GuidePrepose != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(GuidePrepose);
      }
      if (PreposeParams.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(PreposeParams);
      }
      if (GuideTrigger != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GuideTrigger);
      }
      if (TriggerParams.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(TriggerParams);
      }
      if (EndType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(EndType);
      }
      if (CenterOffset != 0F) {
        output.WriteRawTag(85);
        output.WriteFloat(CenterOffset);
      }
      bindIcon_.WriteTo(ref output, _repeated_bindIcon_codec);
      if (BindIconChildCount != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(BindIconChildCount);
      }
      size_.WriteTo(ref output, _repeated_size_codec);
      deviation_.WriteTo(ref output, _repeated_deviation_codec);
      if (Delay != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Delay);
      }
      if (Head.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Head);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Desc);
      }
      descDeviation_.WriteTo(ref output, _repeated_descDeviation_codec);
      handDeviation_.WriteTo(ref output, _repeated_handDeviation_codec);
      if (HandRotation != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(HandRotation);
      }
      if (Dictionary != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(Dictionary);
      }
      if (AvgId.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(AvgId);
      }
      if (IsActive != false) {
        output.WriteRawTag(184, 1);
        output.WriteBool(IsActive);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Step != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Step);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (GuidePrepose != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuidePrepose);
      }
      if (PreposeParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PreposeParams);
      }
      if (GuideTrigger != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuideTrigger);
      }
      if (TriggerParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerParams);
      }
      if (EndType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EndType);
      }
      if (CenterOffset != 0F) {
        size += 1 + 4;
      }
      size += bindIcon_.CalculateSize(_repeated_bindIcon_codec);
      if (BindIconChildCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BindIconChildCount);
      }
      size += size_.CalculateSize(_repeated_size_codec);
      size += deviation_.CalculateSize(_repeated_deviation_codec);
      if (Delay != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Delay);
      }
      if (Head.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Head);
      }
      if (Desc.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      size += descDeviation_.CalculateSize(_repeated_descDeviation_codec);
      size += handDeviation_.CalculateSize(_repeated_handDeviation_codec);
      if (HandRotation != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HandRotation);
      }
      if (Dictionary != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Dictionary);
      }
      if (AvgId.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AvgId);
      }
      if (IsActive != false) {
        size += 2 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Guide other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Step != 0) {
        Step = other.Step;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.GuidePrepose != 0) {
        GuidePrepose = other.GuidePrepose;
      }
      if (other.PreposeParams.Length != 0) {
        PreposeParams = other.PreposeParams;
      }
      if (other.GuideTrigger != 0) {
        GuideTrigger = other.GuideTrigger;
      }
      if (other.TriggerParams.Length != 0) {
        TriggerParams = other.TriggerParams;
      }
      if (other.EndType != 0) {
        EndType = other.EndType;
      }
      if (other.CenterOffset != 0F) {
        CenterOffset = other.CenterOffset;
      }
      bindIcon_.Add(other.bindIcon_);
      if (other.BindIconChildCount != 0) {
        BindIconChildCount = other.BindIconChildCount;
      }
      size_.Add(other.size_);
      deviation_.Add(other.deviation_);
      if (other.Delay != 0) {
        Delay = other.Delay;
      }
      if (other.Head.Length != 0) {
        Head = other.Head;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      descDeviation_.Add(other.descDeviation_);
      handDeviation_.Add(other.handDeviation_);
      if (other.HandRotation != 0) {
        HandRotation = other.HandRotation;
      }
      if (other.Dictionary != 0) {
        Dictionary = other.Dictionary;
      }
      if (other.AvgId.Length != 0) {
        AvgId = other.AvgId;
      }
      if (other.IsActive != false) {
        IsActive = other.IsActive;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Step = input.ReadInt32();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 40: {
            GuidePrepose = input.ReadInt32();
            break;
          }
          case 50: {
            PreposeParams = input.ReadString();
            break;
          }
          case 56: {
            GuideTrigger = input.ReadInt32();
            break;
          }
          case 66: {
            TriggerParams = input.ReadString();
            break;
          }
          case 72: {
            EndType = input.ReadInt32();
            break;
          }
          case 85: {
            CenterOffset = input.ReadFloat();
            break;
          }
          case 90: {
            bindIcon_.AddEntriesFrom(input, _repeated_bindIcon_codec);
            break;
          }
          case 96: {
            BindIconChildCount = input.ReadInt32();
            break;
          }
          case 106:
          case 104: {
            size_.AddEntriesFrom(input, _repeated_size_codec);
            break;
          }
          case 114:
          case 112: {
            deviation_.AddEntriesFrom(input, _repeated_deviation_codec);
            break;
          }
          case 120: {
            Delay = input.ReadInt32();
            break;
          }
          case 130: {
            Head = input.ReadString();
            break;
          }
          case 138: {
            Desc = input.ReadString();
            break;
          }
          case 146:
          case 144: {
            descDeviation_.AddEntriesFrom(input, _repeated_descDeviation_codec);
            break;
          }
          case 154:
          case 152: {
            handDeviation_.AddEntriesFrom(input, _repeated_handDeviation_codec);
            break;
          }
          case 160: {
            HandRotation = input.ReadInt32();
            break;
          }
          case 168: {
            Dictionary = input.ReadInt32();
            break;
          }
          case 178: {
            AvgId = input.ReadString();
            break;
          }
          case 184: {
            IsActive = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Step = input.ReadInt32();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 40: {
            GuidePrepose = input.ReadInt32();
            break;
          }
          case 50: {
            PreposeParams = input.ReadString();
            break;
          }
          case 56: {
            GuideTrigger = input.ReadInt32();
            break;
          }
          case 66: {
            TriggerParams = input.ReadString();
            break;
          }
          case 72: {
            EndType = input.ReadInt32();
            break;
          }
          case 85: {
            CenterOffset = input.ReadFloat();
            break;
          }
          case 90: {
            bindIcon_.AddEntriesFrom(ref input, _repeated_bindIcon_codec);
            break;
          }
          case 96: {
            BindIconChildCount = input.ReadInt32();
            break;
          }
          case 106:
          case 104: {
            size_.AddEntriesFrom(ref input, _repeated_size_codec);
            break;
          }
          case 114:
          case 112: {
            deviation_.AddEntriesFrom(ref input, _repeated_deviation_codec);
            break;
          }
          case 120: {
            Delay = input.ReadInt32();
            break;
          }
          case 130: {
            Head = input.ReadString();
            break;
          }
          case 138: {
            Desc = input.ReadString();
            break;
          }
          case 146:
          case 144: {
            descDeviation_.AddEntriesFrom(ref input, _repeated_descDeviation_codec);
            break;
          }
          case 154:
          case 152: {
            handDeviation_.AddEntriesFrom(ref input, _repeated_handDeviation_codec);
            break;
          }
          case 160: {
            HandRotation = input.ReadInt32();
            break;
          }
          case 168: {
            Dictionary = input.ReadInt32();
            break;
          }
          case 178: {
            AvgId = input.ReadString();
            break;
          }
          case 184: {
            IsActive = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Guide : pb::IMessage<table_Guide>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Guide> _parser = new pb::MessageParser<table_Guide>(() => new table_Guide());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Guide> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[209]; }
    }

    [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 table_Guide() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Guide(table_Guide other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Guide Clone() {
      return new table_Guide(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Guide> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Guide.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Guide> list_ = new pbc::RepeatedField<global::Nova.Client.Guide>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Guide> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Guide);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Guide other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Guide other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class GuideGroup : pb::IMessage<GuideGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<GuideGroup> _parser = new pb::MessageParser<GuideGroup>(() => new GuideGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<GuideGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[210]; }
    }

    [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 GuideGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GuideGroup(GuideGroup other) : this() {
      id_ = other.id_;
      guideDetectionType_ = other.guideDetectionType_;
      passiveMsg_ = other.passiveMsg_;
      guidePrepose_ = other.guidePrepose_;
      preposeParams_ = other.preposeParams_;
      guidePrepose2_ = other.guidePrepose2_;
      preposeParams2_ = other.preposeParams2_;
      guidePost_ = other.guidePost_;
      postParams_ = other.postParams_;
      guideTrigger_ = other.guideTrigger_;
      triggerParams_ = other.triggerParams_;
      towerState_ = other.towerState_;
      scriptPath_ = other.scriptPath_;
      isActive_ = other.isActive_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public GuideGroup Clone() {
      return new GuideGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GuideDetectionType" field.</summary>
    public const int GuideDetectionTypeFieldNumber = 2;
    private int guideDetectionType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuideDetectionType {
      get { return guideDetectionType_; }
      set {
        guideDetectionType_ = value;
      }
    }

    /// <summary>Field number for the "PassiveMsg" field.</summary>
    public const int PassiveMsgFieldNumber = 3;
    private string passiveMsg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PassiveMsg {
      get { return passiveMsg_; }
      set {
        passiveMsg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GuidePrepose" field.</summary>
    public const int GuidePreposeFieldNumber = 4;
    private int guidePrepose_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuidePrepose {
      get { return guidePrepose_; }
      set {
        guidePrepose_ = value;
      }
    }

    /// <summary>Field number for the "PreposeParams" field.</summary>
    public const int PreposeParamsFieldNumber = 5;
    private string preposeParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PreposeParams {
      get { return preposeParams_; }
      set {
        preposeParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GuidePrepose2" field.</summary>
    public const int GuidePrepose2FieldNumber = 6;
    private int guidePrepose2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuidePrepose2 {
      get { return guidePrepose2_; }
      set {
        guidePrepose2_ = value;
      }
    }

    /// <summary>Field number for the "PreposeParams2" field.</summary>
    public const int PreposeParams2FieldNumber = 7;
    private string preposeParams2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PreposeParams2 {
      get { return preposeParams2_; }
      set {
        preposeParams2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GuidePost" field.</summary>
    public const int GuidePostFieldNumber = 8;
    private int guidePost_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuidePost {
      get { return guidePost_; }
      set {
        guidePost_ = value;
      }
    }

    /// <summary>Field number for the "PostParams" field.</summary>
    public const int PostParamsFieldNumber = 9;
    private string postParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PostParams {
      get { return postParams_; }
      set {
        postParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GuideTrigger" field.</summary>
    public const int GuideTriggerFieldNumber = 10;
    private int guideTrigger_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuideTrigger {
      get { return guideTrigger_; }
      set {
        guideTrigger_ = value;
      }
    }

    /// <summary>Field number for the "TriggerParams" field.</summary>
    public const int TriggerParamsFieldNumber = 11;
    private string triggerParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerParams {
      get { return triggerParams_; }
      set {
        triggerParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TowerState" field.</summary>
    public const int TowerStateFieldNumber = 12;
    private bool towerState_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool TowerState {
      get { return towerState_; }
      set {
        towerState_ = value;
      }
    }

    /// <summary>Field number for the "ScriptPath" field.</summary>
    public const int ScriptPathFieldNumber = 13;
    private string scriptPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ScriptPath {
      get { return scriptPath_; }
      set {
        scriptPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsActive" field.</summary>
    public const int IsActiveFieldNumber = 14;
    private bool isActive_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsActive {
      get { return isActive_; }
      set {
        isActive_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as GuideGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(GuideGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GuideDetectionType != other.GuideDetectionType) return false;
      if (PassiveMsg != other.PassiveMsg) return false;
      if (GuidePrepose != other.GuidePrepose) return false;
      if (PreposeParams != other.PreposeParams) return false;
      if (GuidePrepose2 != other.GuidePrepose2) return false;
      if (PreposeParams2 != other.PreposeParams2) return false;
      if (GuidePost != other.GuidePost) return false;
      if (PostParams != other.PostParams) return false;
      if (GuideTrigger != other.GuideTrigger) return false;
      if (TriggerParams != other.TriggerParams) return false;
      if (TowerState != other.TowerState) return false;
      if (ScriptPath != other.ScriptPath) return false;
      if (IsActive != other.IsActive) 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 (GuideDetectionType != 0) hash ^= GuideDetectionType.GetHashCode();
      if (PassiveMsg.Length != 0) hash ^= PassiveMsg.GetHashCode();
      if (GuidePrepose != 0) hash ^= GuidePrepose.GetHashCode();
      if (PreposeParams.Length != 0) hash ^= PreposeParams.GetHashCode();
      if (GuidePrepose2 != 0) hash ^= GuidePrepose2.GetHashCode();
      if (PreposeParams2.Length != 0) hash ^= PreposeParams2.GetHashCode();
      if (GuidePost != 0) hash ^= GuidePost.GetHashCode();
      if (PostParams.Length != 0) hash ^= PostParams.GetHashCode();
      if (GuideTrigger != 0) hash ^= GuideTrigger.GetHashCode();
      if (TriggerParams.Length != 0) hash ^= TriggerParams.GetHashCode();
      if (TowerState != false) hash ^= TowerState.GetHashCode();
      if (ScriptPath.Length != 0) hash ^= ScriptPath.GetHashCode();
      if (IsActive != false) hash ^= IsActive.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.WriteInt32(Id);
      }
      if (GuideDetectionType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GuideDetectionType);
      }
      if (PassiveMsg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PassiveMsg);
      }
      if (GuidePrepose != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GuidePrepose);
      }
      if (PreposeParams.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(PreposeParams);
      }
      if (GuidePrepose2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GuidePrepose2);
      }
      if (PreposeParams2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(PreposeParams2);
      }
      if (GuidePost != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(GuidePost);
      }
      if (PostParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(PostParams);
      }
      if (GuideTrigger != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(GuideTrigger);
      }
      if (TriggerParams.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TriggerParams);
      }
      if (TowerState != false) {
        output.WriteRawTag(96);
        output.WriteBool(TowerState);
      }
      if (ScriptPath.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ScriptPath);
      }
      if (IsActive != false) {
        output.WriteRawTag(112);
        output.WriteBool(IsActive);
      }
      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.WriteInt32(Id);
      }
      if (GuideDetectionType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GuideDetectionType);
      }
      if (PassiveMsg.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(PassiveMsg);
      }
      if (GuidePrepose != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GuidePrepose);
      }
      if (PreposeParams.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(PreposeParams);
      }
      if (GuidePrepose2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GuidePrepose2);
      }
      if (PreposeParams2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(PreposeParams2);
      }
      if (GuidePost != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(GuidePost);
      }
      if (PostParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(PostParams);
      }
      if (GuideTrigger != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(GuideTrigger);
      }
      if (TriggerParams.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TriggerParams);
      }
      if (TowerState != false) {
        output.WriteRawTag(96);
        output.WriteBool(TowerState);
      }
      if (ScriptPath.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ScriptPath);
      }
      if (IsActive != false) {
        output.WriteRawTag(112);
        output.WriteBool(IsActive);
      }
      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.ComputeInt32Size(Id);
      }
      if (GuideDetectionType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuideDetectionType);
      }
      if (PassiveMsg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PassiveMsg);
      }
      if (GuidePrepose != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuidePrepose);
      }
      if (PreposeParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PreposeParams);
      }
      if (GuidePrepose2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuidePrepose2);
      }
      if (PreposeParams2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PreposeParams2);
      }
      if (GuidePost != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuidePost);
      }
      if (PostParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PostParams);
      }
      if (GuideTrigger != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuideTrigger);
      }
      if (TriggerParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerParams);
      }
      if (TowerState != false) {
        size += 1 + 1;
      }
      if (ScriptPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ScriptPath);
      }
      if (IsActive != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(GuideGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GuideDetectionType != 0) {
        GuideDetectionType = other.GuideDetectionType;
      }
      if (other.PassiveMsg.Length != 0) {
        PassiveMsg = other.PassiveMsg;
      }
      if (other.GuidePrepose != 0) {
        GuidePrepose = other.GuidePrepose;
      }
      if (other.PreposeParams.Length != 0) {
        PreposeParams = other.PreposeParams;
      }
      if (other.GuidePrepose2 != 0) {
        GuidePrepose2 = other.GuidePrepose2;
      }
      if (other.PreposeParams2.Length != 0) {
        PreposeParams2 = other.PreposeParams2;
      }
      if (other.GuidePost != 0) {
        GuidePost = other.GuidePost;
      }
      if (other.PostParams.Length != 0) {
        PostParams = other.PostParams;
      }
      if (other.GuideTrigger != 0) {
        GuideTrigger = other.GuideTrigger;
      }
      if (other.TriggerParams.Length != 0) {
        TriggerParams = other.TriggerParams;
      }
      if (other.TowerState != false) {
        TowerState = other.TowerState;
      }
      if (other.ScriptPath.Length != 0) {
        ScriptPath = other.ScriptPath;
      }
      if (other.IsActive != false) {
        IsActive = other.IsActive;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GuideDetectionType = input.ReadInt32();
            break;
          }
          case 26: {
            PassiveMsg = input.ReadString();
            break;
          }
          case 32: {
            GuidePrepose = input.ReadInt32();
            break;
          }
          case 42: {
            PreposeParams = input.ReadString();
            break;
          }
          case 48: {
            GuidePrepose2 = input.ReadInt32();
            break;
          }
          case 58: {
            PreposeParams2 = input.ReadString();
            break;
          }
          case 64: {
            GuidePost = input.ReadInt32();
            break;
          }
          case 74: {
            PostParams = input.ReadString();
            break;
          }
          case 80: {
            GuideTrigger = input.ReadInt32();
            break;
          }
          case 90: {
            TriggerParams = input.ReadString();
            break;
          }
          case 96: {
            TowerState = input.ReadBool();
            break;
          }
          case 106: {
            ScriptPath = input.ReadString();
            break;
          }
          case 112: {
            IsActive = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 16: {
            GuideDetectionType = input.ReadInt32();
            break;
          }
          case 26: {
            PassiveMsg = input.ReadString();
            break;
          }
          case 32: {
            GuidePrepose = input.ReadInt32();
            break;
          }
          case 42: {
            PreposeParams = input.ReadString();
            break;
          }
          case 48: {
            GuidePrepose2 = input.ReadInt32();
            break;
          }
          case 58: {
            PreposeParams2 = input.ReadString();
            break;
          }
          case 64: {
            GuidePost = input.ReadInt32();
            break;
          }
          case 74: {
            PostParams = input.ReadString();
            break;
          }
          case 80: {
            GuideTrigger = input.ReadInt32();
            break;
          }
          case 90: {
            TriggerParams = input.ReadString();
            break;
          }
          case 96: {
            TowerState = input.ReadBool();
            break;
          }
          case 106: {
            ScriptPath = input.ReadString();
            break;
          }
          case 112: {
            IsActive = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_GuideGroup : pb::IMessage<table_GuideGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_GuideGroup> _parser = new pb::MessageParser<table_GuideGroup>(() => new table_GuideGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_GuideGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[211]; }
    }

    [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 table_GuideGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GuideGroup(table_GuideGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_GuideGroup Clone() {
      return new table_GuideGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.GuideGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.GuideGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.GuideGroup> list_ = new pbc::RepeatedField<global::Nova.Client.GuideGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.GuideGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_GuideGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_GuideGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_GuideGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Handbook : pb::IMessage<Handbook>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Handbook> _parser = new pb::MessageParser<Handbook>(() => new Handbook());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Handbook> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[212]; }
    }

    [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 Handbook() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Handbook(Handbook other) : this() {
      id_ = other.id_;
      index_ = other.index_;
      type_ = other.type_;
      charId_ = other.charId_;
      skinId_ = other.skinId_;
      cond_ = other.cond_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Handbook Clone() {
      return new Handbook(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Index" field.</summary>
    public const int IndexFieldNumber = 2;
    private int index_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Index {
      get { return index_; }
      set {
        index_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 3;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 4;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "SkinId" field.</summary>
    public const int SkinIdFieldNumber = 5;
    private int skinId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkinId {
      get { return skinId_; }
      set {
        skinId_ = value;
      }
    }

    /// <summary>Field number for the "Cond" field.</summary>
    public const int CondFieldNumber = 6;
    private int cond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Cond {
      get { return cond_; }
      set {
        cond_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Handbook);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Handbook other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Index != other.Index) return false;
      if (Type != other.Type) return false;
      if (CharId != other.CharId) return false;
      if (SkinId != other.SkinId) return false;
      if (Cond != other.Cond) 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 (Index != 0) hash ^= Index.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (CharId != 0) hash ^= CharId.GetHashCode();
      if (SkinId != 0) hash ^= SkinId.GetHashCode();
      if (Cond != 0) hash ^= Cond.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.WriteInt32(Id);
      }
      if (Index != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Index);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (CharId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CharId);
      }
      if (SkinId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SkinId);
      }
      if (Cond != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Cond);
      }
      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.WriteInt32(Id);
      }
      if (Index != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Index);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (CharId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CharId);
      }
      if (SkinId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SkinId);
      }
      if (Cond != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Cond);
      }
      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.ComputeInt32Size(Id);
      }
      if (Index != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (SkinId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkinId);
      }
      if (Cond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cond);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Handbook other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Index != 0) {
        Index = other.Index;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.SkinId != 0) {
        SkinId = other.SkinId;
      }
      if (other.Cond != 0) {
        Cond = other.Cond;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Index = input.ReadInt32();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            CharId = input.ReadInt32();
            break;
          }
          case 40: {
            SkinId = input.ReadInt32();
            break;
          }
          case 48: {
            Cond = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Index = input.ReadInt32();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 32: {
            CharId = input.ReadInt32();
            break;
          }
          case 40: {
            SkinId = input.ReadInt32();
            break;
          }
          case 48: {
            Cond = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Handbook : pb::IMessage<table_Handbook>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Handbook> _parser = new pb::MessageParser<table_Handbook>(() => new table_Handbook());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Handbook> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[213]; }
    }

    [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 table_Handbook() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Handbook(table_Handbook other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Handbook Clone() {
      return new table_Handbook(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Handbook> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Handbook.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Handbook> list_ = new pbc::RepeatedField<global::Nova.Client.Handbook>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Handbook> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Handbook);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Handbook other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Handbook other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class HitDamage : pb::IMessage<HitDamage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<HitDamage> _parser = new pb::MessageParser<HitDamage>(() => new HitDamage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<HitDamage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[214]; }
    }

    [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 HitDamage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HitDamage(HitDamage other) : this() {
      id_ = other.id_;
      levelTypeData_ = other.levelTypeData_;
      levelData_ = other.levelData_;
      mainOrSupport_ = other.mainOrSupport_;
      hitdamageInfo_ = other.hitdamageInfo_;
      distanceType_ = other.distanceType_;
      sourceType_ = other.sourceType_;
      damageType_ = other.damageType_;
      effectType_ = other.effectType_;
      elementType_ = other.elementType_;
      damageTag_ = other.damageTag_.Clone();
      damageBonusType_ = other.damageBonusType_;
      skillPercentAmend_ = other.skillPercentAmend_.Clone();
      skillAbsAmend_ = other.skillAbsAmend_.Clone();
      additionalSource_ = other.additionalSource_;
      additionalType_ = other.additionalType_;
      additionalPercent_ = other.additionalPercent_.Clone();
      energyCharge_ = other.energyCharge_;
      talentPercentAmend_ = other.talentPercentAmend_.Clone();
      talentAbsAmend_ = other.talentAbsAmend_.Clone();
      isDenseType_ = other.isDenseType_;
      perkIntensity_ = other.perkIntensity_.Clone();
      skillId_ = other.skillId_;
      skillSlotType_ = other.skillSlotType_;
      perkId_ = other.perkId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HitDamage Clone() {
      return new HitDamage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "levelTypeData" field.</summary>
    public const int LevelTypeDataFieldNumber = 2;
    private int levelTypeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelTypeData {
      get { return levelTypeData_; }
      set {
        levelTypeData_ = value;
      }
    }

    /// <summary>Field number for the "LevelData" field.</summary>
    public const int LevelDataFieldNumber = 3;
    private int levelData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelData {
      get { return levelData_; }
      set {
        levelData_ = value;
      }
    }

    /// <summary>Field number for the "MainOrSupport" field.</summary>
    public const int MainOrSupportFieldNumber = 4;
    private int mainOrSupport_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainOrSupport {
      get { return mainOrSupport_; }
      set {
        mainOrSupport_ = value;
      }
    }

    /// <summary>Field number for the "HitdamageInfo" field.</summary>
    public const int HitdamageInfoFieldNumber = 5;
    private string hitdamageInfo_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string HitdamageInfo {
      get { return hitdamageInfo_; }
      set {
        hitdamageInfo_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DistanceType" field.</summary>
    public const int DistanceTypeFieldNumber = 6;
    private int distanceType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DistanceType {
      get { return distanceType_; }
      set {
        distanceType_ = value;
      }
    }

    /// <summary>Field number for the "SourceType" field.</summary>
    public const int SourceTypeFieldNumber = 7;
    private int sourceType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SourceType {
      get { return sourceType_; }
      set {
        sourceType_ = value;
      }
    }

    /// <summary>Field number for the "DamageType" field.</summary>
    public const int DamageTypeFieldNumber = 8;
    private int damageType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DamageType {
      get { return damageType_; }
      set {
        damageType_ = value;
      }
    }

    /// <summary>Field number for the "EffectType" field.</summary>
    public const int EffectTypeFieldNumber = 9;
    private int effectType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectType {
      get { return effectType_; }
      set {
        effectType_ = value;
      }
    }

    /// <summary>Field number for the "ElementType" field.</summary>
    public const int ElementTypeFieldNumber = 10;
    private int elementType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ElementType {
      get { return elementType_; }
      set {
        elementType_ = value;
      }
    }

    /// <summary>Field number for the "DamageTag" field.</summary>
    public const int DamageTagFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_damageTag_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> damageTag_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DamageTag {
      get { return damageTag_; }
    }

    /// <summary>Field number for the "DamageBonusType" field.</summary>
    public const int DamageBonusTypeFieldNumber = 12;
    private int damageBonusType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DamageBonusType {
      get { return damageBonusType_; }
      set {
        damageBonusType_ = value;
      }
    }

    /// <summary>Field number for the "SkillPercentAmend" field.</summary>
    public const int SkillPercentAmendFieldNumber = 13;
    private static readonly pb::FieldCodec<int> _repeated_skillPercentAmend_codec
        = pb::FieldCodec.ForInt32(106);
    private readonly pbc::RepeatedField<int> skillPercentAmend_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> SkillPercentAmend {
      get { return skillPercentAmend_; }
    }

    /// <summary>Field number for the "SkillAbsAmend" field.</summary>
    public const int SkillAbsAmendFieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_skillAbsAmend_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> skillAbsAmend_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> SkillAbsAmend {
      get { return skillAbsAmend_; }
    }

    /// <summary>Field number for the "AdditionalSource" field.</summary>
    public const int AdditionalSourceFieldNumber = 15;
    private int additionalSource_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AdditionalSource {
      get { return additionalSource_; }
      set {
        additionalSource_ = value;
      }
    }

    /// <summary>Field number for the "AdditionalType" field.</summary>
    public const int AdditionalTypeFieldNumber = 16;
    private int additionalType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AdditionalType {
      get { return additionalType_; }
      set {
        additionalType_ = value;
      }
    }

    /// <summary>Field number for the "AdditionalPercent" field.</summary>
    public const int AdditionalPercentFieldNumber = 17;
    private static readonly pb::FieldCodec<int> _repeated_additionalPercent_codec
        = pb::FieldCodec.ForInt32(138);
    private readonly pbc::RepeatedField<int> additionalPercent_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AdditionalPercent {
      get { return additionalPercent_; }
    }

    /// <summary>Field number for the "EnergyCharge" field.</summary>
    public const int EnergyChargeFieldNumber = 18;
    private int energyCharge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnergyCharge {
      get { return energyCharge_; }
      set {
        energyCharge_ = value;
      }
    }

    /// <summary>Field number for the "TalentPercentAmend" field.</summary>
    public const int TalentPercentAmendFieldNumber = 19;
    private static readonly pb::FieldCodec<int> _repeated_talentPercentAmend_codec
        = pb::FieldCodec.ForInt32(154);
    private readonly pbc::RepeatedField<int> talentPercentAmend_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TalentPercentAmend {
      get { return talentPercentAmend_; }
    }

    /// <summary>Field number for the "TalentAbsAmend" field.</summary>
    public const int TalentAbsAmendFieldNumber = 20;
    private static readonly pb::FieldCodec<int> _repeated_talentAbsAmend_codec
        = pb::FieldCodec.ForInt32(162);
    private readonly pbc::RepeatedField<int> talentAbsAmend_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TalentAbsAmend {
      get { return talentAbsAmend_; }
    }

    /// <summary>Field number for the "IsDenseType" field.</summary>
    public const int IsDenseTypeFieldNumber = 21;
    private bool isDenseType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsDenseType {
      get { return isDenseType_; }
      set {
        isDenseType_ = value;
      }
    }

    /// <summary>Field number for the "PerkIntensity" field.</summary>
    public const int PerkIntensityFieldNumber = 22;
    private static readonly pb::FieldCodec<int> _repeated_perkIntensity_codec
        = pb::FieldCodec.ForInt32(178);
    private readonly pbc::RepeatedField<int> perkIntensity_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PerkIntensity {
      get { return perkIntensity_; }
    }

    /// <summary>Field number for the "SkillId" field.</summary>
    public const int SkillIdFieldNumber = 23;
    private int skillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillId {
      get { return skillId_; }
      set {
        skillId_ = value;
      }
    }

    /// <summary>Field number for the "SkillSlotType" field.</summary>
    public const int SkillSlotTypeFieldNumber = 24;
    private int skillSlotType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillSlotType {
      get { return skillSlotType_; }
      set {
        skillSlotType_ = value;
      }
    }

    /// <summary>Field number for the "PerkId" field.</summary>
    public const int PerkIdFieldNumber = 25;
    private int perkId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PerkId {
      get { return perkId_; }
      set {
        perkId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as HitDamage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(HitDamage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (LevelTypeData != other.LevelTypeData) return false;
      if (LevelData != other.LevelData) return false;
      if (MainOrSupport != other.MainOrSupport) return false;
      if (HitdamageInfo != other.HitdamageInfo) return false;
      if (DistanceType != other.DistanceType) return false;
      if (SourceType != other.SourceType) return false;
      if (DamageType != other.DamageType) return false;
      if (EffectType != other.EffectType) return false;
      if (ElementType != other.ElementType) return false;
      if(!damageTag_.Equals(other.damageTag_)) return false;
      if (DamageBonusType != other.DamageBonusType) return false;
      if(!skillPercentAmend_.Equals(other.skillPercentAmend_)) return false;
      if(!skillAbsAmend_.Equals(other.skillAbsAmend_)) return false;
      if (AdditionalSource != other.AdditionalSource) return false;
      if (AdditionalType != other.AdditionalType) return false;
      if(!additionalPercent_.Equals(other.additionalPercent_)) return false;
      if (EnergyCharge != other.EnergyCharge) return false;
      if(!talentPercentAmend_.Equals(other.talentPercentAmend_)) return false;
      if(!talentAbsAmend_.Equals(other.talentAbsAmend_)) return false;
      if (IsDenseType != other.IsDenseType) return false;
      if(!perkIntensity_.Equals(other.perkIntensity_)) return false;
      if (SkillId != other.SkillId) return false;
      if (SkillSlotType != other.SkillSlotType) return false;
      if (PerkId != other.PerkId) 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 (LevelTypeData != 0) hash ^= LevelTypeData.GetHashCode();
      if (LevelData != 0) hash ^= LevelData.GetHashCode();
      if (MainOrSupport != 0) hash ^= MainOrSupport.GetHashCode();
      if (HitdamageInfo.Length != 0) hash ^= HitdamageInfo.GetHashCode();
      if (DistanceType != 0) hash ^= DistanceType.GetHashCode();
      if (SourceType != 0) hash ^= SourceType.GetHashCode();
      if (DamageType != 0) hash ^= DamageType.GetHashCode();
      if (EffectType != 0) hash ^= EffectType.GetHashCode();
      if (ElementType != 0) hash ^= ElementType.GetHashCode();
      hash ^= damageTag_.GetHashCode();
      if (DamageBonusType != 0) hash ^= DamageBonusType.GetHashCode();
      hash ^= skillPercentAmend_.GetHashCode();
      hash ^= skillAbsAmend_.GetHashCode();
      if (AdditionalSource != 0) hash ^= AdditionalSource.GetHashCode();
      if (AdditionalType != 0) hash ^= AdditionalType.GetHashCode();
      hash ^= additionalPercent_.GetHashCode();
      if (EnergyCharge != 0) hash ^= EnergyCharge.GetHashCode();
      hash ^= talentPercentAmend_.GetHashCode();
      hash ^= talentAbsAmend_.GetHashCode();
      if (IsDenseType != false) hash ^= IsDenseType.GetHashCode();
      hash ^= perkIntensity_.GetHashCode();
      if (SkillId != 0) hash ^= SkillId.GetHashCode();
      if (SkillSlotType != 0) hash ^= SkillSlotType.GetHashCode();
      if (PerkId != 0) hash ^= PerkId.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.WriteInt32(Id);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MainOrSupport);
      }
      if (HitdamageInfo.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(HitdamageInfo);
      }
      if (DistanceType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(DistanceType);
      }
      if (SourceType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SourceType);
      }
      if (DamageType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(DamageType);
      }
      if (EffectType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(EffectType);
      }
      if (ElementType != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ElementType);
      }
      damageTag_.WriteTo(output, _repeated_damageTag_codec);
      if (DamageBonusType != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(DamageBonusType);
      }
      skillPercentAmend_.WriteTo(output, _repeated_skillPercentAmend_codec);
      skillAbsAmend_.WriteTo(output, _repeated_skillAbsAmend_codec);
      if (AdditionalSource != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AdditionalSource);
      }
      if (AdditionalType != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AdditionalType);
      }
      additionalPercent_.WriteTo(output, _repeated_additionalPercent_codec);
      if (EnergyCharge != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(EnergyCharge);
      }
      talentPercentAmend_.WriteTo(output, _repeated_talentPercentAmend_codec);
      talentAbsAmend_.WriteTo(output, _repeated_talentAbsAmend_codec);
      if (IsDenseType != false) {
        output.WriteRawTag(168, 1);
        output.WriteBool(IsDenseType);
      }
      perkIntensity_.WriteTo(output, _repeated_perkIntensity_codec);
      if (SkillId != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(SkillId);
      }
      if (SkillSlotType != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(SkillSlotType);
      }
      if (PerkId != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(PerkId);
      }
      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.WriteInt32(Id);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MainOrSupport);
      }
      if (HitdamageInfo.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(HitdamageInfo);
      }
      if (DistanceType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(DistanceType);
      }
      if (SourceType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SourceType);
      }
      if (DamageType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(DamageType);
      }
      if (EffectType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(EffectType);
      }
      if (ElementType != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ElementType);
      }
      damageTag_.WriteTo(ref output, _repeated_damageTag_codec);
      if (DamageBonusType != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(DamageBonusType);
      }
      skillPercentAmend_.WriteTo(ref output, _repeated_skillPercentAmend_codec);
      skillAbsAmend_.WriteTo(ref output, _repeated_skillAbsAmend_codec);
      if (AdditionalSource != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AdditionalSource);
      }
      if (AdditionalType != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AdditionalType);
      }
      additionalPercent_.WriteTo(ref output, _repeated_additionalPercent_codec);
      if (EnergyCharge != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(EnergyCharge);
      }
      talentPercentAmend_.WriteTo(ref output, _repeated_talentPercentAmend_codec);
      talentAbsAmend_.WriteTo(ref output, _repeated_talentAbsAmend_codec);
      if (IsDenseType != false) {
        output.WriteRawTag(168, 1);
        output.WriteBool(IsDenseType);
      }
      perkIntensity_.WriteTo(ref output, _repeated_perkIntensity_codec);
      if (SkillId != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(SkillId);
      }
      if (SkillSlotType != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(SkillSlotType);
      }
      if (PerkId != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(PerkId);
      }
      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.ComputeInt32Size(Id);
      }
      if (LevelTypeData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTypeData);
      }
      if (LevelData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelData);
      }
      if (MainOrSupport != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainOrSupport);
      }
      if (HitdamageInfo.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(HitdamageInfo);
      }
      if (DistanceType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DistanceType);
      }
      if (SourceType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SourceType);
      }
      if (DamageType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageType);
      }
      if (EffectType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectType);
      }
      if (ElementType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ElementType);
      }
      size += damageTag_.CalculateSize(_repeated_damageTag_codec);
      if (DamageBonusType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DamageBonusType);
      }
      size += skillPercentAmend_.CalculateSize(_repeated_skillPercentAmend_codec);
      size += skillAbsAmend_.CalculateSize(_repeated_skillAbsAmend_codec);
      if (AdditionalSource != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AdditionalSource);
      }
      if (AdditionalType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AdditionalType);
      }
      size += additionalPercent_.CalculateSize(_repeated_additionalPercent_codec);
      if (EnergyCharge != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EnergyCharge);
      }
      size += talentPercentAmend_.CalculateSize(_repeated_talentPercentAmend_codec);
      size += talentAbsAmend_.CalculateSize(_repeated_talentAbsAmend_codec);
      if (IsDenseType != false) {
        size += 2 + 1;
      }
      size += perkIntensity_.CalculateSize(_repeated_perkIntensity_codec);
      if (SkillId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkillId);
      }
      if (SkillSlotType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkillSlotType);
      }
      if (PerkId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PerkId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(HitDamage other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.LevelTypeData != 0) {
        LevelTypeData = other.LevelTypeData;
      }
      if (other.LevelData != 0) {
        LevelData = other.LevelData;
      }
      if (other.MainOrSupport != 0) {
        MainOrSupport = other.MainOrSupport;
      }
      if (other.HitdamageInfo.Length != 0) {
        HitdamageInfo = other.HitdamageInfo;
      }
      if (other.DistanceType != 0) {
        DistanceType = other.DistanceType;
      }
      if (other.SourceType != 0) {
        SourceType = other.SourceType;
      }
      if (other.DamageType != 0) {
        DamageType = other.DamageType;
      }
      if (other.EffectType != 0) {
        EffectType = other.EffectType;
      }
      if (other.ElementType != 0) {
        ElementType = other.ElementType;
      }
      damageTag_.Add(other.damageTag_);
      if (other.DamageBonusType != 0) {
        DamageBonusType = other.DamageBonusType;
      }
      skillPercentAmend_.Add(other.skillPercentAmend_);
      skillAbsAmend_.Add(other.skillAbsAmend_);
      if (other.AdditionalSource != 0) {
        AdditionalSource = other.AdditionalSource;
      }
      if (other.AdditionalType != 0) {
        AdditionalType = other.AdditionalType;
      }
      additionalPercent_.Add(other.additionalPercent_);
      if (other.EnergyCharge != 0) {
        EnergyCharge = other.EnergyCharge;
      }
      talentPercentAmend_.Add(other.talentPercentAmend_);
      talentAbsAmend_.Add(other.talentAbsAmend_);
      if (other.IsDenseType != false) {
        IsDenseType = other.IsDenseType;
      }
      perkIntensity_.Add(other.perkIntensity_);
      if (other.SkillId != 0) {
        SkillId = other.SkillId;
      }
      if (other.SkillSlotType != 0) {
        SkillSlotType = other.SkillSlotType;
      }
      if (other.PerkId != 0) {
        PerkId = other.PerkId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 24: {
            LevelData = input.ReadInt32();
            break;
          }
          case 32: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 42: {
            HitdamageInfo = input.ReadString();
            break;
          }
          case 48: {
            DistanceType = input.ReadInt32();
            break;
          }
          case 56: {
            SourceType = input.ReadInt32();
            break;
          }
          case 64: {
            DamageType = input.ReadInt32();
            break;
          }
          case 72: {
            EffectType = input.ReadInt32();
            break;
          }
          case 80: {
            ElementType = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            damageTag_.AddEntriesFrom(input, _repeated_damageTag_codec);
            break;
          }
          case 96: {
            DamageBonusType = input.ReadInt32();
            break;
          }
          case 106:
          case 104: {
            skillPercentAmend_.AddEntriesFrom(input, _repeated_skillPercentAmend_codec);
            break;
          }
          case 114:
          case 112: {
            skillAbsAmend_.AddEntriesFrom(input, _repeated_skillAbsAmend_codec);
            break;
          }
          case 120: {
            AdditionalSource = input.ReadInt32();
            break;
          }
          case 128: {
            AdditionalType = input.ReadInt32();
            break;
          }
          case 138:
          case 136: {
            additionalPercent_.AddEntriesFrom(input, _repeated_additionalPercent_codec);
            break;
          }
          case 144: {
            EnergyCharge = input.ReadInt32();
            break;
          }
          case 154:
          case 152: {
            talentPercentAmend_.AddEntriesFrom(input, _repeated_talentPercentAmend_codec);
            break;
          }
          case 162:
          case 160: {
            talentAbsAmend_.AddEntriesFrom(input, _repeated_talentAbsAmend_codec);
            break;
          }
          case 168: {
            IsDenseType = input.ReadBool();
            break;
          }
          case 178:
          case 176: {
            perkIntensity_.AddEntriesFrom(input, _repeated_perkIntensity_codec);
            break;
          }
          case 184: {
            SkillId = input.ReadInt32();
            break;
          }
          case 192: {
            SkillSlotType = input.ReadInt32();
            break;
          }
          case 200: {
            PerkId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 24: {
            LevelData = input.ReadInt32();
            break;
          }
          case 32: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 42: {
            HitdamageInfo = input.ReadString();
            break;
          }
          case 48: {
            DistanceType = input.ReadInt32();
            break;
          }
          case 56: {
            SourceType = input.ReadInt32();
            break;
          }
          case 64: {
            DamageType = input.ReadInt32();
            break;
          }
          case 72: {
            EffectType = input.ReadInt32();
            break;
          }
          case 80: {
            ElementType = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            damageTag_.AddEntriesFrom(ref input, _repeated_damageTag_codec);
            break;
          }
          case 96: {
            DamageBonusType = input.ReadInt32();
            break;
          }
          case 106:
          case 104: {
            skillPercentAmend_.AddEntriesFrom(ref input, _repeated_skillPercentAmend_codec);
            break;
          }
          case 114:
          case 112: {
            skillAbsAmend_.AddEntriesFrom(ref input, _repeated_skillAbsAmend_codec);
            break;
          }
          case 120: {
            AdditionalSource = input.ReadInt32();
            break;
          }
          case 128: {
            AdditionalType = input.ReadInt32();
            break;
          }
          case 138:
          case 136: {
            additionalPercent_.AddEntriesFrom(ref input, _repeated_additionalPercent_codec);
            break;
          }
          case 144: {
            EnergyCharge = input.ReadInt32();
            break;
          }
          case 154:
          case 152: {
            talentPercentAmend_.AddEntriesFrom(ref input, _repeated_talentPercentAmend_codec);
            break;
          }
          case 162:
          case 160: {
            talentAbsAmend_.AddEntriesFrom(ref input, _repeated_talentAbsAmend_codec);
            break;
          }
          case 168: {
            IsDenseType = input.ReadBool();
            break;
          }
          case 178:
          case 176: {
            perkIntensity_.AddEntriesFrom(ref input, _repeated_perkIntensity_codec);
            break;
          }
          case 184: {
            SkillId = input.ReadInt32();
            break;
          }
          case 192: {
            SkillSlotType = input.ReadInt32();
            break;
          }
          case 200: {
            PerkId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_HitDamage : pb::IMessage<table_HitDamage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_HitDamage> _parser = new pb::MessageParser<table_HitDamage>(() => new table_HitDamage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_HitDamage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[215]; }
    }

    [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 table_HitDamage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_HitDamage(table_HitDamage other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_HitDamage Clone() {
      return new table_HitDamage(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.HitDamage> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.HitDamage.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.HitDamage> list_ = new pbc::RepeatedField<global::Nova.Client.HitDamage>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.HitDamage> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_HitDamage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_HitDamage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_HitDamage other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Honor : pb::IMessage<Honor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Honor> _parser = new pb::MessageParser<Honor>(() => new Honor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Honor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[216]; }
    }

    [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 Honor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Honor(Honor other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      isUnlock_ = other.isUnlock_;
      type_ = other.type_;
      tabType_ = other.tabType_;
      params_ = other.params_.Clone();
      priotity_ = other.priotity_;
      mainRes_ = other.mainRes_;
      subRes_ = other.subRes_;
      sort_ = other.sort_;
      bGType_ = other.bGType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Honor Clone() {
      return new Honor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsUnlock" field.</summary>
    public const int IsUnlockFieldNumber = 3;
    private bool isUnlock_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsUnlock {
      get { return isUnlock_; }
      set {
        isUnlock_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 4;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "TabType" field.</summary>
    public const int TabTypeFieldNumber = 5;
    private int tabType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TabType {
      get { return tabType_; }
      set {
        tabType_ = value;
      }
    }

    /// <summary>Field number for the "Params" field.</summary>
    public const int ParamsFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_params_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> params_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Params {
      get { return params_; }
    }

    /// <summary>Field number for the "Priotity" field.</summary>
    public const int PriotityFieldNumber = 7;
    private int priotity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Priotity {
      get { return priotity_; }
      set {
        priotity_ = value;
      }
    }

    /// <summary>Field number for the "MainRes" field.</summary>
    public const int MainResFieldNumber = 8;
    private string mainRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MainRes {
      get { return mainRes_; }
      set {
        mainRes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SubRes" field.</summary>
    public const int SubResFieldNumber = 9;
    private string subRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SubRes {
      get { return subRes_; }
      set {
        subRes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 10;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "BGType" field.</summary>
    public const int BGTypeFieldNumber = 11;
    private int bGType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BGType {
      get { return bGType_; }
      set {
        bGType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Honor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Honor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (IsUnlock != other.IsUnlock) return false;
      if (Type != other.Type) return false;
      if (TabType != other.TabType) return false;
      if(!params_.Equals(other.params_)) return false;
      if (Priotity != other.Priotity) return false;
      if (MainRes != other.MainRes) return false;
      if (SubRes != other.SubRes) return false;
      if (Sort != other.Sort) return false;
      if (BGType != other.BGType) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (IsUnlock != false) hash ^= IsUnlock.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (TabType != 0) hash ^= TabType.GetHashCode();
      hash ^= params_.GetHashCode();
      if (Priotity != 0) hash ^= Priotity.GetHashCode();
      if (MainRes.Length != 0) hash ^= MainRes.GetHashCode();
      if (SubRes.Length != 0) hash ^= SubRes.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (BGType != 0) hash ^= BGType.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (IsUnlock != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsUnlock);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (TabType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TabType);
      }
      params_.WriteTo(output, _repeated_params_codec);
      if (Priotity != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Priotity);
      }
      if (MainRes.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(MainRes);
      }
      if (SubRes.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(SubRes);
      }
      if (Sort != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Sort);
      }
      if (BGType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(BGType);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (IsUnlock != false) {
        output.WriteRawTag(24);
        output.WriteBool(IsUnlock);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (TabType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TabType);
      }
      params_.WriteTo(ref output, _repeated_params_codec);
      if (Priotity != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Priotity);
      }
      if (MainRes.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(MainRes);
      }
      if (SubRes.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(SubRes);
      }
      if (Sort != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Sort);
      }
      if (BGType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(BGType);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (IsUnlock != false) {
        size += 1 + 1;
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (TabType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TabType);
      }
      size += params_.CalculateSize(_repeated_params_codec);
      if (Priotity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priotity);
      }
      if (MainRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MainRes);
      }
      if (SubRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SubRes);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (BGType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BGType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Honor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.IsUnlock != false) {
        IsUnlock = other.IsUnlock;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.TabType != 0) {
        TabType = other.TabType;
      }
      params_.Add(other.params_);
      if (other.Priotity != 0) {
        Priotity = other.Priotity;
      }
      if (other.MainRes.Length != 0) {
        MainRes = other.MainRes;
      }
      if (other.SubRes.Length != 0) {
        SubRes = other.SubRes;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.BGType != 0) {
        BGType = other.BGType;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            IsUnlock = input.ReadBool();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 40: {
            TabType = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            params_.AddEntriesFrom(input, _repeated_params_codec);
            break;
          }
          case 56: {
            Priotity = input.ReadInt32();
            break;
          }
          case 66: {
            MainRes = input.ReadString();
            break;
          }
          case 74: {
            SubRes = input.ReadString();
            break;
          }
          case 80: {
            Sort = input.ReadInt32();
            break;
          }
          case 88: {
            BGType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            IsUnlock = input.ReadBool();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 40: {
            TabType = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            params_.AddEntriesFrom(ref input, _repeated_params_codec);
            break;
          }
          case 56: {
            Priotity = input.ReadInt32();
            break;
          }
          case 66: {
            MainRes = input.ReadString();
            break;
          }
          case 74: {
            SubRes = input.ReadString();
            break;
          }
          case 80: {
            Sort = input.ReadInt32();
            break;
          }
          case 88: {
            BGType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Honor : pb::IMessage<table_Honor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Honor> _parser = new pb::MessageParser<table_Honor>(() => new table_Honor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Honor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[217]; }
    }

    [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 table_Honor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Honor(table_Honor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Honor Clone() {
      return new table_Honor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Honor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Honor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Honor> list_ = new pbc::RepeatedField<global::Nova.Client.Honor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Honor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Honor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Honor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Honor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class HonorCharacter : pb::IMessage<HonorCharacter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<HonorCharacter> _parser = new pb::MessageParser<HonorCharacter>(() => new HonorCharacter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<HonorCharacter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[218]; }
    }

    [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 HonorCharacter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HonorCharacter(HonorCharacter other) : this() {
      id_ = other.id_;
      charId_ = other.charId_;
      level_ = other.level_;
      bigBgPath_ = other.bigBgPath_;
      smallBgPath_ = other.smallBgPath_;
      starGroup_ = other.starGroup_.Clone();
      sort_ = other.sort_;
      bGType_ = other.bGType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public HonorCharacter Clone() {
      return new HonorCharacter(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 2;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 3;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "BigBgPath" field.</summary>
    public const int BigBgPathFieldNumber = 4;
    private string bigBgPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BigBgPath {
      get { return bigBgPath_; }
      set {
        bigBgPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SmallBgPath" field.</summary>
    public const int SmallBgPathFieldNumber = 5;
    private string smallBgPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SmallBgPath {
      get { return smallBgPath_; }
      set {
        smallBgPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "StarGroup" field.</summary>
    public const int StarGroupFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_starGroup_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> starGroup_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> StarGroup {
      get { return starGroup_; }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 7;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "BGType" field.</summary>
    public const int BGTypeFieldNumber = 8;
    private int bGType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BGType {
      get { return bGType_; }
      set {
        bGType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as HonorCharacter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(HonorCharacter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharId != other.CharId) return false;
      if (Level != other.Level) return false;
      if (BigBgPath != other.BigBgPath) return false;
      if (SmallBgPath != other.SmallBgPath) return false;
      if(!starGroup_.Equals(other.starGroup_)) return false;
      if (Sort != other.Sort) return false;
      if (BGType != other.BGType) 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 (CharId != 0) hash ^= CharId.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (BigBgPath.Length != 0) hash ^= BigBgPath.GetHashCode();
      if (SmallBgPath.Length != 0) hash ^= SmallBgPath.GetHashCode();
      hash ^= starGroup_.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (BGType != 0) hash ^= BGType.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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (BigBgPath.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BigBgPath);
      }
      if (SmallBgPath.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SmallBgPath);
      }
      starGroup_.WriteTo(output, _repeated_starGroup_codec);
      if (Sort != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Sort);
      }
      if (BGType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(BGType);
      }
      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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (BigBgPath.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(BigBgPath);
      }
      if (SmallBgPath.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(SmallBgPath);
      }
      starGroup_.WriteTo(ref output, _repeated_starGroup_codec);
      if (Sort != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Sort);
      }
      if (BGType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(BGType);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (BigBgPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BigBgPath);
      }
      if (SmallBgPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SmallBgPath);
      }
      size += starGroup_.CalculateSize(_repeated_starGroup_codec);
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (BGType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BGType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(HonorCharacter other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.BigBgPath.Length != 0) {
        BigBgPath = other.BigBgPath;
      }
      if (other.SmallBgPath.Length != 0) {
        SmallBgPath = other.SmallBgPath;
      }
      starGroup_.Add(other.starGroup_);
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.BGType != 0) {
        BGType = other.BGType;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 34: {
            BigBgPath = input.ReadString();
            break;
          }
          case 42: {
            SmallBgPath = input.ReadString();
            break;
          }
          case 50:
          case 48: {
            starGroup_.AddEntriesFrom(input, _repeated_starGroup_codec);
            break;
          }
          case 56: {
            Sort = input.ReadInt32();
            break;
          }
          case 64: {
            BGType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 34: {
            BigBgPath = input.ReadString();
            break;
          }
          case 42: {
            SmallBgPath = input.ReadString();
            break;
          }
          case 50:
          case 48: {
            starGroup_.AddEntriesFrom(ref input, _repeated_starGroup_codec);
            break;
          }
          case 56: {
            Sort = input.ReadInt32();
            break;
          }
          case 64: {
            BGType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_HonorCharacter : pb::IMessage<table_HonorCharacter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_HonorCharacter> _parser = new pb::MessageParser<table_HonorCharacter>(() => new table_HonorCharacter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_HonorCharacter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[219]; }
    }

    [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 table_HonorCharacter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_HonorCharacter(table_HonorCharacter other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_HonorCharacter Clone() {
      return new table_HonorCharacter(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.HonorCharacter> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.HonorCharacter.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.HonorCharacter> list_ = new pbc::RepeatedField<global::Nova.Client.HonorCharacter>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.HonorCharacter> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_HonorCharacter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_HonorCharacter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_HonorCharacter other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTower : pb::IMessage<InfinityTower>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTower> _parser = new pb::MessageParser<InfinityTower>(() => new InfinityTower());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTower> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[220]; }
    }

    [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 InfinityTower() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTower(InfinityTower other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      elementType_ = other.elementType_;
      formationSceneName_ = other.formationSceneName_;
      bg_ = other.bg_;
      preTowerLevelId_ = other.preTowerLevelId_;
      openDay_ = other.openDay_.Clone();
      openDayDesc_ = other.openDayDesc_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTower Clone() {
      return new InfinityTower(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ElementType" field.</summary>
    public const int ElementTypeFieldNumber = 3;
    private int elementType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ElementType {
      get { return elementType_; }
      set {
        elementType_ = value;
      }
    }

    /// <summary>Field number for the "FormationSceneName" field.</summary>
    public const int FormationSceneNameFieldNumber = 4;
    private string formationSceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FormationSceneName {
      get { return formationSceneName_; }
      set {
        formationSceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bg" field.</summary>
    public const int BgFieldNumber = 5;
    private string bg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Bg {
      get { return bg_; }
      set {
        bg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PreTowerLevelId" field.</summary>
    public const int PreTowerLevelIdFieldNumber = 6;
    private int preTowerLevelId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreTowerLevelId {
      get { return preTowerLevelId_; }
      set {
        preTowerLevelId_ = value;
      }
    }

    /// <summary>Field number for the "OpenDay" field.</summary>
    public const int OpenDayFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_openDay_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> openDay_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> OpenDay {
      get { return openDay_; }
    }

    /// <summary>Field number for the "OpenDayDesc" field.</summary>
    public const int OpenDayDescFieldNumber = 8;
    private string openDayDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OpenDayDesc {
      get { return openDayDesc_; }
      set {
        openDayDesc_ = 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 InfinityTower);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTower other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (ElementType != other.ElementType) return false;
      if (FormationSceneName != other.FormationSceneName) return false;
      if (Bg != other.Bg) return false;
      if (PreTowerLevelId != other.PreTowerLevelId) return false;
      if(!openDay_.Equals(other.openDay_)) return false;
      if (OpenDayDesc != other.OpenDayDesc) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (ElementType != 0) hash ^= ElementType.GetHashCode();
      if (FormationSceneName.Length != 0) hash ^= FormationSceneName.GetHashCode();
      if (Bg.Length != 0) hash ^= Bg.GetHashCode();
      if (PreTowerLevelId != 0) hash ^= PreTowerLevelId.GetHashCode();
      hash ^= openDay_.GetHashCode();
      if (OpenDayDesc.Length != 0) hash ^= OpenDayDesc.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (ElementType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ElementType);
      }
      if (FormationSceneName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FormationSceneName);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Bg);
      }
      if (PreTowerLevelId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PreTowerLevelId);
      }
      openDay_.WriteTo(output, _repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(OpenDayDesc);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (ElementType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ElementType);
      }
      if (FormationSceneName.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(FormationSceneName);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Bg);
      }
      if (PreTowerLevelId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PreTowerLevelId);
      }
      openDay_.WriteTo(ref output, _repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(OpenDayDesc);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (ElementType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ElementType);
      }
      if (FormationSceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FormationSceneName);
      }
      if (Bg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Bg);
      }
      if (PreTowerLevelId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreTowerLevelId);
      }
      size += openDay_.CalculateSize(_repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OpenDayDesc);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTower other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.ElementType != 0) {
        ElementType = other.ElementType;
      }
      if (other.FormationSceneName.Length != 0) {
        FormationSceneName = other.FormationSceneName;
      }
      if (other.Bg.Length != 0) {
        Bg = other.Bg;
      }
      if (other.PreTowerLevelId != 0) {
        PreTowerLevelId = other.PreTowerLevelId;
      }
      openDay_.Add(other.openDay_);
      if (other.OpenDayDesc.Length != 0) {
        OpenDayDesc = other.OpenDayDesc;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            ElementType = input.ReadInt32();
            break;
          }
          case 34: {
            FormationSceneName = input.ReadString();
            break;
          }
          case 42: {
            Bg = input.ReadString();
            break;
          }
          case 48: {
            PreTowerLevelId = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            openDay_.AddEntriesFrom(input, _repeated_openDay_codec);
            break;
          }
          case 66: {
            OpenDayDesc = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            ElementType = input.ReadInt32();
            break;
          }
          case 34: {
            FormationSceneName = input.ReadString();
            break;
          }
          case 42: {
            Bg = input.ReadString();
            break;
          }
          case 48: {
            PreTowerLevelId = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            openDay_.AddEntriesFrom(ref input, _repeated_openDay_codec);
            break;
          }
          case 66: {
            OpenDayDesc = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTower : pb::IMessage<table_InfinityTower>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTower> _parser = new pb::MessageParser<table_InfinityTower>(() => new table_InfinityTower());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTower> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[221]; }
    }

    [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 table_InfinityTower() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTower(table_InfinityTower other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTower Clone() {
      return new table_InfinityTower(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTower> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTower.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTower> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTower>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTower> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTower);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTower other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTower other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerAffix : pb::IMessage<InfinityTowerAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerAffix> _parser = new pb::MessageParser<InfinityTowerAffix>(() => new InfinityTowerAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[222]; }
    }

    [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 InfinityTowerAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerAffix(InfinityTowerAffix other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      addCamp_ = other.addCamp_.Clone();
      triggerCondition_ = other.triggerCondition_;
      triggerParam_ = other.triggerParam_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerAffix Clone() {
      return new InfinityTowerAffix(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AddCamp" field.</summary>
    public const int AddCampFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_addCamp_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> addCamp_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddCamp {
      get { return addCamp_; }
    }

    /// <summary>Field number for the "TriggerCondition" field.</summary>
    public const int TriggerConditionFieldNumber = 5;
    private int triggerCondition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TriggerCondition {
      get { return triggerCondition_; }
      set {
        triggerCondition_ = value;
      }
    }

    /// <summary>Field number for the "TriggerParam" field.</summary>
    public const int TriggerParamFieldNumber = 6;
    private string triggerParam_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TriggerParam {
      get { return triggerParam_; }
      set {
        triggerParam_ = 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 InfinityTowerAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if(!addCamp_.Equals(other.addCamp_)) return false;
      if (TriggerCondition != other.TriggerCondition) return false;
      if (TriggerParam != other.TriggerParam) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      hash ^= addCamp_.GetHashCode();
      if (TriggerCondition != 0) hash ^= TriggerCondition.GetHashCode();
      if (TriggerParam.Length != 0) hash ^= TriggerParam.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      addCamp_.WriteTo(output, _repeated_addCamp_codec);
      if (TriggerCondition != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TriggerCondition);
      }
      if (TriggerParam.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(TriggerParam);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      addCamp_.WriteTo(ref output, _repeated_addCamp_codec);
      if (TriggerCondition != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(TriggerCondition);
      }
      if (TriggerParam.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(TriggerParam);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      size += addCamp_.CalculateSize(_repeated_addCamp_codec);
      if (TriggerCondition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TriggerCondition);
      }
      if (TriggerParam.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TriggerParam);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerAffix other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      addCamp_.Add(other.addCamp_);
      if (other.TriggerCondition != 0) {
        TriggerCondition = other.TriggerCondition;
      }
      if (other.TriggerParam.Length != 0) {
        TriggerParam = other.TriggerParam;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            addCamp_.AddEntriesFrom(input, _repeated_addCamp_codec);
            break;
          }
          case 40: {
            TriggerCondition = input.ReadInt32();
            break;
          }
          case 50: {
            TriggerParam = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            addCamp_.AddEntriesFrom(ref input, _repeated_addCamp_codec);
            break;
          }
          case 40: {
            TriggerCondition = input.ReadInt32();
            break;
          }
          case 50: {
            TriggerParam = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerAffix : pb::IMessage<table_InfinityTowerAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerAffix> _parser = new pb::MessageParser<table_InfinityTowerAffix>(() => new table_InfinityTowerAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[223]; }
    }

    [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 table_InfinityTowerAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerAffix(table_InfinityTowerAffix other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerAffix Clone() {
      return new table_InfinityTowerAffix(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerAffix> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerAffix.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerAffix> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerAffix>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerAffix> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerAffix other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerBountyLevel : pb::IMessage<InfinityTowerBountyLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerBountyLevel> _parser = new pb::MessageParser<InfinityTowerBountyLevel>(() => new InfinityTowerBountyLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerBountyLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[224]; }
    }

    [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 InfinityTowerBountyLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerBountyLevel(InfinityTowerBountyLevel other) : this() {
      id_ = other.id_;
      level_ = other.level_;
      name_ = other.name_;
      icon_ = other.icon_;
      rewardDropId_ = other.rewardDropId_;
      rewardShow_ = other.rewardShow_;
      cond1_ = other.cond1_;
      condParam1_ = other.condParam1_.Clone();
      condDesc1_ = other.condDesc1_;
      cond2_ = other.cond2_;
      condParam2_ = other.condParam2_.Clone();
      condDesc2_ = other.condDesc2_;
      cond3_ = other.cond3_;
      condParam3_ = other.condParam3_.Clone();
      condDesc3_ = other.condDesc3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerBountyLevel Clone() {
      return new InfinityTowerBountyLevel(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 2;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 4;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RewardDropId" field.</summary>
    public const int RewardDropIdFieldNumber = 5;
    private int rewardDropId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardDropId {
      get { return rewardDropId_; }
      set {
        rewardDropId_ = value;
      }
    }

    /// <summary>Field number for the "RewardShow" field.</summary>
    public const int RewardShowFieldNumber = 6;
    private string rewardShow_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardShow {
      get { return rewardShow_; }
      set {
        rewardShow_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cond1" field.</summary>
    public const int Cond1FieldNumber = 7;
    private int cond1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Cond1 {
      get { return cond1_; }
      set {
        cond1_ = value;
      }
    }

    /// <summary>Field number for the "CondParam1" field.</summary>
    public const int CondParam1FieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_condParam1_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> condParam1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CondParam1 {
      get { return condParam1_; }
    }

    /// <summary>Field number for the "CondDesc1" field.</summary>
    public const int CondDesc1FieldNumber = 9;
    private string condDesc1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CondDesc1 {
      get { return condDesc1_; }
      set {
        condDesc1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cond2" field.</summary>
    public const int Cond2FieldNumber = 10;
    private int cond2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Cond2 {
      get { return cond2_; }
      set {
        cond2_ = value;
      }
    }

    /// <summary>Field number for the "CondParam2" field.</summary>
    public const int CondParam2FieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_condParam2_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> condParam2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CondParam2 {
      get { return condParam2_; }
    }

    /// <summary>Field number for the "CondDesc2" field.</summary>
    public const int CondDesc2FieldNumber = 12;
    private string condDesc2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CondDesc2 {
      get { return condDesc2_; }
      set {
        condDesc2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cond3" field.</summary>
    public const int Cond3FieldNumber = 13;
    private int cond3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Cond3 {
      get { return cond3_; }
      set {
        cond3_ = value;
      }
    }

    /// <summary>Field number for the "CondParam3" field.</summary>
    public const int CondParam3FieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_condParam3_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> condParam3_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CondParam3 {
      get { return condParam3_; }
    }

    /// <summary>Field number for the "CondDesc3" field.</summary>
    public const int CondDesc3FieldNumber = 15;
    private string condDesc3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CondDesc3 {
      get { return condDesc3_; }
      set {
        condDesc3_ = 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 InfinityTowerBountyLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerBountyLevel 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 (Name != other.Name) return false;
      if (Icon != other.Icon) return false;
      if (RewardDropId != other.RewardDropId) return false;
      if (RewardShow != other.RewardShow) return false;
      if (Cond1 != other.Cond1) return false;
      if(!condParam1_.Equals(other.condParam1_)) return false;
      if (CondDesc1 != other.CondDesc1) return false;
      if (Cond2 != other.Cond2) return false;
      if(!condParam2_.Equals(other.condParam2_)) return false;
      if (CondDesc2 != other.CondDesc2) return false;
      if (Cond3 != other.Cond3) return false;
      if(!condParam3_.Equals(other.condParam3_)) return false;
      if (CondDesc3 != other.CondDesc3) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (RewardDropId != 0) hash ^= RewardDropId.GetHashCode();
      if (RewardShow.Length != 0) hash ^= RewardShow.GetHashCode();
      if (Cond1 != 0) hash ^= Cond1.GetHashCode();
      hash ^= condParam1_.GetHashCode();
      if (CondDesc1.Length != 0) hash ^= CondDesc1.GetHashCode();
      if (Cond2 != 0) hash ^= Cond2.GetHashCode();
      hash ^= condParam2_.GetHashCode();
      if (CondDesc2.Length != 0) hash ^= CondDesc2.GetHashCode();
      if (Cond3 != 0) hash ^= Cond3.GetHashCode();
      hash ^= condParam3_.GetHashCode();
      if (CondDesc3.Length != 0) hash ^= CondDesc3.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.WriteInt32(Id);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Level);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (RewardDropId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RewardDropId);
      }
      if (RewardShow.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(RewardShow);
      }
      if (Cond1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Cond1);
      }
      condParam1_.WriteTo(output, _repeated_condParam1_codec);
      if (CondDesc1.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CondDesc1);
      }
      if (Cond2 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Cond2);
      }
      condParam2_.WriteTo(output, _repeated_condParam2_codec);
      if (CondDesc2.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(CondDesc2);
      }
      if (Cond3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Cond3);
      }
      condParam3_.WriteTo(output, _repeated_condParam3_codec);
      if (CondDesc3.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(CondDesc3);
      }
      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.WriteInt32(Id);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Level);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (RewardDropId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RewardDropId);
      }
      if (RewardShow.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(RewardShow);
      }
      if (Cond1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Cond1);
      }
      condParam1_.WriteTo(ref output, _repeated_condParam1_codec);
      if (CondDesc1.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CondDesc1);
      }
      if (Cond2 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Cond2);
      }
      condParam2_.WriteTo(ref output, _repeated_condParam2_codec);
      if (CondDesc2.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(CondDesc2);
      }
      if (Cond3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Cond3);
      }
      condParam3_.WriteTo(ref output, _repeated_condParam3_codec);
      if (CondDesc3.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(CondDesc3);
      }
      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.ComputeInt32Size(Id);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (RewardDropId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardDropId);
      }
      if (RewardShow.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardShow);
      }
      if (Cond1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cond1);
      }
      size += condParam1_.CalculateSize(_repeated_condParam1_codec);
      if (CondDesc1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CondDesc1);
      }
      if (Cond2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cond2);
      }
      size += condParam2_.CalculateSize(_repeated_condParam2_codec);
      if (CondDesc2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CondDesc2);
      }
      if (Cond3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cond3);
      }
      size += condParam3_.CalculateSize(_repeated_condParam3_codec);
      if (CondDesc3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CondDesc3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerBountyLevel other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.RewardDropId != 0) {
        RewardDropId = other.RewardDropId;
      }
      if (other.RewardShow.Length != 0) {
        RewardShow = other.RewardShow;
      }
      if (other.Cond1 != 0) {
        Cond1 = other.Cond1;
      }
      condParam1_.Add(other.condParam1_);
      if (other.CondDesc1.Length != 0) {
        CondDesc1 = other.CondDesc1;
      }
      if (other.Cond2 != 0) {
        Cond2 = other.Cond2;
      }
      condParam2_.Add(other.condParam2_);
      if (other.CondDesc2.Length != 0) {
        CondDesc2 = other.CondDesc2;
      }
      if (other.Cond3 != 0) {
        Cond3 = other.Cond3;
      }
      condParam3_.Add(other.condParam3_);
      if (other.CondDesc3.Length != 0) {
        CondDesc3 = other.CondDesc3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Level = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 40: {
            RewardDropId = input.ReadInt32();
            break;
          }
          case 50: {
            RewardShow = input.ReadString();
            break;
          }
          case 56: {
            Cond1 = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            condParam1_.AddEntriesFrom(input, _repeated_condParam1_codec);
            break;
          }
          case 74: {
            CondDesc1 = input.ReadString();
            break;
          }
          case 80: {
            Cond2 = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            condParam2_.AddEntriesFrom(input, _repeated_condParam2_codec);
            break;
          }
          case 98: {
            CondDesc2 = input.ReadString();
            break;
          }
          case 104: {
            Cond3 = input.ReadInt32();
            break;
          }
          case 114:
          case 112: {
            condParam3_.AddEntriesFrom(input, _repeated_condParam3_codec);
            break;
          }
          case 122: {
            CondDesc3 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Level = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 40: {
            RewardDropId = input.ReadInt32();
            break;
          }
          case 50: {
            RewardShow = input.ReadString();
            break;
          }
          case 56: {
            Cond1 = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            condParam1_.AddEntriesFrom(ref input, _repeated_condParam1_codec);
            break;
          }
          case 74: {
            CondDesc1 = input.ReadString();
            break;
          }
          case 80: {
            Cond2 = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            condParam2_.AddEntriesFrom(ref input, _repeated_condParam2_codec);
            break;
          }
          case 98: {
            CondDesc2 = input.ReadString();
            break;
          }
          case 104: {
            Cond3 = input.ReadInt32();
            break;
          }
          case 114:
          case 112: {
            condParam3_.AddEntriesFrom(ref input, _repeated_condParam3_codec);
            break;
          }
          case 122: {
            CondDesc3 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerBountyLevel : pb::IMessage<table_InfinityTowerBountyLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerBountyLevel> _parser = new pb::MessageParser<table_InfinityTowerBountyLevel>(() => new table_InfinityTowerBountyLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerBountyLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[225]; }
    }

    [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 table_InfinityTowerBountyLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerBountyLevel(table_InfinityTowerBountyLevel other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerBountyLevel Clone() {
      return new table_InfinityTowerBountyLevel(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerBountyLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerBountyLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerBountyLevel> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerBountyLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerBountyLevel> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerBountyLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerBountyLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerBountyLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerDifficulty : pb::IMessage<InfinityTowerDifficulty>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerDifficulty> _parser = new pb::MessageParser<InfinityTowerDifficulty>(() => new InfinityTowerDifficulty());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerDifficulty> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[226]; }
    }

    [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 InfinityTowerDifficulty() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerDifficulty(InfinityTowerDifficulty other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      towerId_ = other.towerId_;
      unlockWorldClass_ = other.unlockWorldClass_;
      unlockTips_ = other.unlockTips_;
      isChallenge_ = other.isChallenge_;
      recommendLevel_ = other.recommendLevel_;
      sort_ = other.sort_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerDifficulty Clone() {
      return new InfinityTowerDifficulty(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TowerId" field.</summary>
    public const int TowerIdFieldNumber = 3;
    private int towerId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TowerId {
      get { return towerId_; }
      set {
        towerId_ = value;
      }
    }

    /// <summary>Field number for the "UnlockWorldClass" field.</summary>
    public const int UnlockWorldClassFieldNumber = 4;
    private int unlockWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockWorldClass {
      get { return unlockWorldClass_; }
      set {
        unlockWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "UnlockTips" field.</summary>
    public const int UnlockTipsFieldNumber = 5;
    private string unlockTips_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnlockTips {
      get { return unlockTips_; }
      set {
        unlockTips_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsChallenge" field.</summary>
    public const int IsChallengeFieldNumber = 6;
    private bool isChallenge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsChallenge {
      get { return isChallenge_; }
      set {
        isChallenge_ = value;
      }
    }

    /// <summary>Field number for the "RecommendLevel" field.</summary>
    public const int RecommendLevelFieldNumber = 7;
    private int recommendLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecommendLevel {
      get { return recommendLevel_; }
      set {
        recommendLevel_ = value;
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 8;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as InfinityTowerDifficulty);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerDifficulty other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (TowerId != other.TowerId) return false;
      if (UnlockWorldClass != other.UnlockWorldClass) return false;
      if (UnlockTips != other.UnlockTips) return false;
      if (IsChallenge != other.IsChallenge) return false;
      if (RecommendLevel != other.RecommendLevel) return false;
      if (Sort != other.Sort) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (TowerId != 0) hash ^= TowerId.GetHashCode();
      if (UnlockWorldClass != 0) hash ^= UnlockWorldClass.GetHashCode();
      if (UnlockTips.Length != 0) hash ^= UnlockTips.GetHashCode();
      if (IsChallenge != false) hash ^= IsChallenge.GetHashCode();
      if (RecommendLevel != 0) hash ^= RecommendLevel.GetHashCode();
      if (Sort != 0) hash ^= Sort.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (TowerId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TowerId);
      }
      if (UnlockWorldClass != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockWorldClass);
      }
      if (UnlockTips.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(UnlockTips);
      }
      if (IsChallenge != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsChallenge);
      }
      if (RecommendLevel != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RecommendLevel);
      }
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (TowerId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TowerId);
      }
      if (UnlockWorldClass != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockWorldClass);
      }
      if (UnlockTips.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(UnlockTips);
      }
      if (IsChallenge != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsChallenge);
      }
      if (RecommendLevel != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RecommendLevel);
      }
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (TowerId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TowerId);
      }
      if (UnlockWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockWorldClass);
      }
      if (UnlockTips.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UnlockTips);
      }
      if (IsChallenge != false) {
        size += 1 + 1;
      }
      if (RecommendLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecommendLevel);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerDifficulty other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.TowerId != 0) {
        TowerId = other.TowerId;
      }
      if (other.UnlockWorldClass != 0) {
        UnlockWorldClass = other.UnlockWorldClass;
      }
      if (other.UnlockTips.Length != 0) {
        UnlockTips = other.UnlockTips;
      }
      if (other.IsChallenge != false) {
        IsChallenge = other.IsChallenge;
      }
      if (other.RecommendLevel != 0) {
        RecommendLevel = other.RecommendLevel;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            TowerId = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockWorldClass = input.ReadInt32();
            break;
          }
          case 42: {
            UnlockTips = input.ReadString();
            break;
          }
          case 48: {
            IsChallenge = input.ReadBool();
            break;
          }
          case 56: {
            RecommendLevel = input.ReadInt32();
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            TowerId = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockWorldClass = input.ReadInt32();
            break;
          }
          case 42: {
            UnlockTips = input.ReadString();
            break;
          }
          case 48: {
            IsChallenge = input.ReadBool();
            break;
          }
          case 56: {
            RecommendLevel = input.ReadInt32();
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerDifficulty : pb::IMessage<table_InfinityTowerDifficulty>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerDifficulty> _parser = new pb::MessageParser<table_InfinityTowerDifficulty>(() => new table_InfinityTowerDifficulty());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerDifficulty> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[227]; }
    }

    [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 table_InfinityTowerDifficulty() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerDifficulty(table_InfinityTowerDifficulty other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerDifficulty Clone() {
      return new table_InfinityTowerDifficulty(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerDifficulty> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerDifficulty.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerDifficulty> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerDifficulty>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerDifficulty> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerDifficulty);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerDifficulty other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerDifficulty other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerEnemySet : pb::IMessage<InfinityTowerEnemySet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerEnemySet> _parser = new pb::MessageParser<InfinityTowerEnemySet>(() => new InfinityTowerEnemySet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerEnemySet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[228]; }
    }

    [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 InfinityTowerEnemySet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerEnemySet(InfinityTowerEnemySet other) : this() {
      setId_ = other.setId_;
      waveNum_ = other.waveNum_;
      groupNum_ = other.groupNum_;
      maxNum_ = other.maxNum_;
      maxNumPerWave_ = other.maxNumPerWave_;
      monsterId_ = other.monsterId_;
      levelChange_ = other.levelChange_;
      commonGameplayType_ = other.commonGameplayType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerEnemySet Clone() {
      return new InfinityTowerEnemySet(this);
    }

    /// <summary>Field number for the "SetId" field.</summary>
    public const int SetIdFieldNumber = 1;
    private int setId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SetId {
      get { return setId_; }
      set {
        setId_ = value;
      }
    }

    /// <summary>Field number for the "WaveNum" field.</summary>
    public const int WaveNumFieldNumber = 2;
    private int waveNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WaveNum {
      get { return waveNum_; }
      set {
        waveNum_ = value;
      }
    }

    /// <summary>Field number for the "GroupNum" field.</summary>
    public const int GroupNumFieldNumber = 3;
    private int groupNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupNum {
      get { return groupNum_; }
      set {
        groupNum_ = value;
      }
    }

    /// <summary>Field number for the "MaxNum" field.</summary>
    public const int MaxNumFieldNumber = 4;
    private int maxNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxNum {
      get { return maxNum_; }
      set {
        maxNum_ = value;
      }
    }

    /// <summary>Field number for the "MaxNumPerWave" field.</summary>
    public const int MaxNumPerWaveFieldNumber = 5;
    private int maxNumPerWave_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxNumPerWave {
      get { return maxNumPerWave_; }
      set {
        maxNumPerWave_ = value;
      }
    }

    /// <summary>Field number for the "MonsterId" field.</summary>
    public const int MonsterIdFieldNumber = 6;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "LevelChange" field.</summary>
    public const int LevelChangeFieldNumber = 7;
    private int levelChange_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelChange {
      get { return levelChange_; }
      set {
        levelChange_ = value;
      }
    }

    /// <summary>Field number for the "CommonGameplayType" field.</summary>
    public const int CommonGameplayTypeFieldNumber = 8;
    private int commonGameplayType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CommonGameplayType {
      get { return commonGameplayType_; }
      set {
        commonGameplayType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as InfinityTowerEnemySet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerEnemySet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (SetId != other.SetId) return false;
      if (WaveNum != other.WaveNum) return false;
      if (GroupNum != other.GroupNum) return false;
      if (MaxNum != other.MaxNum) return false;
      if (MaxNumPerWave != other.MaxNumPerWave) return false;
      if (MonsterId != other.MonsterId) return false;
      if (LevelChange != other.LevelChange) return false;
      if (CommonGameplayType != other.CommonGameplayType) 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 (SetId != 0) hash ^= SetId.GetHashCode();
      if (WaveNum != 0) hash ^= WaveNum.GetHashCode();
      if (GroupNum != 0) hash ^= GroupNum.GetHashCode();
      if (MaxNum != 0) hash ^= MaxNum.GetHashCode();
      if (MaxNumPerWave != 0) hash ^= MaxNumPerWave.GetHashCode();
      if (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (LevelChange != 0) hash ^= LevelChange.GetHashCode();
      if (CommonGameplayType != 0) hash ^= CommonGameplayType.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 (SetId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(SetId);
      }
      if (WaveNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(WaveNum);
      }
      if (GroupNum != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GroupNum);
      }
      if (MaxNum != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxNum);
      }
      if (MaxNumPerWave != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MaxNumPerWave);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MonsterId);
      }
      if (LevelChange != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(LevelChange);
      }
      if (CommonGameplayType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CommonGameplayType);
      }
      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 (SetId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(SetId);
      }
      if (WaveNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(WaveNum);
      }
      if (GroupNum != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GroupNum);
      }
      if (MaxNum != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxNum);
      }
      if (MaxNumPerWave != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MaxNumPerWave);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MonsterId);
      }
      if (LevelChange != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(LevelChange);
      }
      if (CommonGameplayType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CommonGameplayType);
      }
      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 (SetId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SetId);
      }
      if (WaveNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveNum);
      }
      if (GroupNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupNum);
      }
      if (MaxNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNum);
      }
      if (MaxNumPerWave != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNumPerWave);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (LevelChange != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelChange);
      }
      if (CommonGameplayType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CommonGameplayType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerEnemySet other) {
      if (other == null) {
        return;
      }
      if (other.SetId != 0) {
        SetId = other.SetId;
      }
      if (other.WaveNum != 0) {
        WaveNum = other.WaveNum;
      }
      if (other.GroupNum != 0) {
        GroupNum = other.GroupNum;
      }
      if (other.MaxNum != 0) {
        MaxNum = other.MaxNum;
      }
      if (other.MaxNumPerWave != 0) {
        MaxNumPerWave = other.MaxNumPerWave;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.LevelChange != 0) {
        LevelChange = other.LevelChange;
      }
      if (other.CommonGameplayType != 0) {
        CommonGameplayType = other.CommonGameplayType;
      }
      _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: {
            SetId = input.ReadInt32();
            break;
          }
          case 16: {
            WaveNum = input.ReadInt32();
            break;
          }
          case 24: {
            GroupNum = input.ReadInt32();
            break;
          }
          case 32: {
            MaxNum = input.ReadInt32();
            break;
          }
          case 40: {
            MaxNumPerWave = input.ReadInt32();
            break;
          }
          case 48: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 56: {
            LevelChange = input.ReadInt32();
            break;
          }
          case 64: {
            CommonGameplayType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            SetId = input.ReadInt32();
            break;
          }
          case 16: {
            WaveNum = input.ReadInt32();
            break;
          }
          case 24: {
            GroupNum = input.ReadInt32();
            break;
          }
          case 32: {
            MaxNum = input.ReadInt32();
            break;
          }
          case 40: {
            MaxNumPerWave = input.ReadInt32();
            break;
          }
          case 48: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 56: {
            LevelChange = input.ReadInt32();
            break;
          }
          case 64: {
            CommonGameplayType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerEnemySet : pb::IMessage<table_InfinityTowerEnemySet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerEnemySet> _parser = new pb::MessageParser<table_InfinityTowerEnemySet>(() => new table_InfinityTowerEnemySet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerEnemySet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[229]; }
    }

    [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 table_InfinityTowerEnemySet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerEnemySet(table_InfinityTowerEnemySet other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerEnemySet Clone() {
      return new table_InfinityTowerEnemySet(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerEnemySet> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerEnemySet.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerEnemySet> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerEnemySet>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerEnemySet> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerEnemySet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerEnemySet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerEnemySet other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerFloor : pb::IMessage<InfinityTowerFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerFloor> _parser = new pb::MessageParser<InfinityTowerFloor>(() => new InfinityTowerFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[230]; }
    }

    [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 InfinityTowerFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerFloor(InfinityTowerFloor other) : this() {
      id_ = other.id_;
      lvId_ = other.lvId_;
      mapId_ = other.mapId_;
      battleLv_ = other.battleLv_;
      floorFunc_ = other.floorFunc_;
      monsterLv_ = other.monsterLv_;
      stage_ = other.stage_;
      setId_ = other.setId_;
      limitTime_ = other.limitTime_;
      previewMonsterGroupId_ = other.previewMonsterGroupId_;
      affixId_ = other.affixId_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerFloor Clone() {
      return new InfinityTowerFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "LvId" field.</summary>
    public const int LvIdFieldNumber = 2;
    private int lvId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LvId {
      get { return lvId_; }
      set {
        lvId_ = value;
      }
    }

    /// <summary>Field number for the "MapId" field.</summary>
    public const int MapIdFieldNumber = 3;
    private int mapId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MapId {
      get { return mapId_; }
      set {
        mapId_ = value;
      }
    }

    /// <summary>Field number for the "BattleLv" field.</summary>
    public const int BattleLvFieldNumber = 4;
    private int battleLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BattleLv {
      get { return battleLv_; }
      set {
        battleLv_ = value;
      }
    }

    /// <summary>Field number for the "FloorFunc" field.</summary>
    public const int FloorFuncFieldNumber = 5;
    private int floorFunc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FloorFunc {
      get { return floorFunc_; }
      set {
        floorFunc_ = value;
      }
    }

    /// <summary>Field number for the "MonsterLv" field.</summary>
    public const int MonsterLvFieldNumber = 6;
    private int monsterLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLv {
      get { return monsterLv_; }
      set {
        monsterLv_ = value;
      }
    }

    /// <summary>Field number for the "Stage" field.</summary>
    public const int StageFieldNumber = 7;
    private int stage_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Stage {
      get { return stage_; }
      set {
        stage_ = value;
      }
    }

    /// <summary>Field number for the "SetId" field.</summary>
    public const int SetIdFieldNumber = 8;
    private int setId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SetId {
      get { return setId_; }
      set {
        setId_ = value;
      }
    }

    /// <summary>Field number for the "LimitTime" field.</summary>
    public const int LimitTimeFieldNumber = 9;
    private int limitTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LimitTime {
      get { return limitTime_; }
      set {
        limitTime_ = value;
      }
    }

    /// <summary>Field number for the "PreviewMonsterGroupId" field.</summary>
    public const int PreviewMonsterGroupIdFieldNumber = 10;
    private int previewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterGroupId {
      get { return previewMonsterGroupId_; }
      set {
        previewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "AffixId" field.</summary>
    public const int AffixIdFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_affixId_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> affixId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AffixId {
      get { return affixId_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as InfinityTowerFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (LvId != other.LvId) return false;
      if (MapId != other.MapId) return false;
      if (BattleLv != other.BattleLv) return false;
      if (FloorFunc != other.FloorFunc) return false;
      if (MonsterLv != other.MonsterLv) return false;
      if (Stage != other.Stage) return false;
      if (SetId != other.SetId) return false;
      if (LimitTime != other.LimitTime) return false;
      if (PreviewMonsterGroupId != other.PreviewMonsterGroupId) return false;
      if(!affixId_.Equals(other.affixId_)) 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 (LvId != 0) hash ^= LvId.GetHashCode();
      if (MapId != 0) hash ^= MapId.GetHashCode();
      if (BattleLv != 0) hash ^= BattleLv.GetHashCode();
      if (FloorFunc != 0) hash ^= FloorFunc.GetHashCode();
      if (MonsterLv != 0) hash ^= MonsterLv.GetHashCode();
      if (Stage != 0) hash ^= Stage.GetHashCode();
      if (SetId != 0) hash ^= SetId.GetHashCode();
      if (LimitTime != 0) hash ^= LimitTime.GetHashCode();
      if (PreviewMonsterGroupId != 0) hash ^= PreviewMonsterGroupId.GetHashCode();
      hash ^= affixId_.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.WriteInt32(Id);
      }
      if (LvId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LvId);
      }
      if (MapId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MapId);
      }
      if (BattleLv != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BattleLv);
      }
      if (FloorFunc != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FloorFunc);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MonsterLv);
      }
      if (Stage != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Stage);
      }
      if (SetId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(SetId);
      }
      if (LimitTime != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(LimitTime);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      affixId_.WriteTo(output, _repeated_affixId_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (LvId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LvId);
      }
      if (MapId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MapId);
      }
      if (BattleLv != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BattleLv);
      }
      if (FloorFunc != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FloorFunc);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MonsterLv);
      }
      if (Stage != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Stage);
      }
      if (SetId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(SetId);
      }
      if (LimitTime != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(LimitTime);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      affixId_.WriteTo(ref output, _repeated_affixId_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (LvId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LvId);
      }
      if (MapId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
      }
      if (BattleLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattleLv);
      }
      if (FloorFunc != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FloorFunc);
      }
      if (MonsterLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLv);
      }
      if (Stage != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stage);
      }
      if (SetId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SetId);
      }
      if (LimitTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LimitTime);
      }
      if (PreviewMonsterGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterGroupId);
      }
      size += affixId_.CalculateSize(_repeated_affixId_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.LvId != 0) {
        LvId = other.LvId;
      }
      if (other.MapId != 0) {
        MapId = other.MapId;
      }
      if (other.BattleLv != 0) {
        BattleLv = other.BattleLv;
      }
      if (other.FloorFunc != 0) {
        FloorFunc = other.FloorFunc;
      }
      if (other.MonsterLv != 0) {
        MonsterLv = other.MonsterLv;
      }
      if (other.Stage != 0) {
        Stage = other.Stage;
      }
      if (other.SetId != 0) {
        SetId = other.SetId;
      }
      if (other.LimitTime != 0) {
        LimitTime = other.LimitTime;
      }
      if (other.PreviewMonsterGroupId != 0) {
        PreviewMonsterGroupId = other.PreviewMonsterGroupId;
      }
      affixId_.Add(other.affixId_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            LvId = input.ReadInt32();
            break;
          }
          case 24: {
            MapId = input.ReadInt32();
            break;
          }
          case 32: {
            BattleLv = input.ReadInt32();
            break;
          }
          case 40: {
            FloorFunc = input.ReadInt32();
            break;
          }
          case 48: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 56: {
            Stage = input.ReadInt32();
            break;
          }
          case 64: {
            SetId = input.ReadInt32();
            break;
          }
          case 72: {
            LimitTime = input.ReadInt32();
            break;
          }
          case 80: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            affixId_.AddEntriesFrom(input, _repeated_affixId_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            LvId = input.ReadInt32();
            break;
          }
          case 24: {
            MapId = input.ReadInt32();
            break;
          }
          case 32: {
            BattleLv = input.ReadInt32();
            break;
          }
          case 40: {
            FloorFunc = input.ReadInt32();
            break;
          }
          case 48: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 56: {
            Stage = input.ReadInt32();
            break;
          }
          case 64: {
            SetId = input.ReadInt32();
            break;
          }
          case 72: {
            LimitTime = input.ReadInt32();
            break;
          }
          case 80: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            affixId_.AddEntriesFrom(ref input, _repeated_affixId_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerFloor : pb::IMessage<table_InfinityTowerFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerFloor> _parser = new pb::MessageParser<table_InfinityTowerFloor>(() => new table_InfinityTowerFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[231]; }
    }

    [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 table_InfinityTowerFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerFloor(table_InfinityTowerFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerFloor Clone() {
      return new table_InfinityTowerFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerFloor> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerLevel : pb::IMessage<InfinityTowerLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerLevel> _parser = new pb::MessageParser<InfinityTowerLevel>(() => new InfinityTowerLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[232]; }
    }

    [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 InfinityTowerLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerLevel(InfinityTowerLevel other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      difficultyId_ = other.difficultyId_;
      levelType_ = other.levelType_;
      floor_ = other.floor_;
      floorId_ = other.floorId_;
      preLevelId_ = other.preLevelId_;
      entryCond_ = other.entryCond_;
      entryCondParam_ = other.entryCondParam_.Clone();
      awardDropId_ = other.awardDropId_;
      recommendLv_ = other.recommendLv_;
      recommendBuildRank_ = other.recommendBuildRank_;
      baseAwardPreview_ = other.baseAwardPreview_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerLevel Clone() {
      return new InfinityTowerLevel(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DifficultyId" field.</summary>
    public const int DifficultyIdFieldNumber = 3;
    private int difficultyId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DifficultyId {
      get { return difficultyId_; }
      set {
        difficultyId_ = value;
      }
    }

    /// <summary>Field number for the "LevelType" field.</summary>
    public const int LevelTypeFieldNumber = 4;
    private int levelType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelType {
      get { return levelType_; }
      set {
        levelType_ = value;
      }
    }

    /// <summary>Field number for the "Floor" field.</summary>
    public const int FloorFieldNumber = 5;
    private int floor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Floor {
      get { return floor_; }
      set {
        floor_ = value;
      }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 6;
    private int floorId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FloorId {
      get { return floorId_; }
      set {
        floorId_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelId" field.</summary>
    public const int PreLevelIdFieldNumber = 7;
    private int preLevelId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelId {
      get { return preLevelId_; }
      set {
        preLevelId_ = value;
      }
    }

    /// <summary>Field number for the "EntryCond" field.</summary>
    public const int EntryCondFieldNumber = 8;
    private int entryCond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryCond {
      get { return entryCond_; }
      set {
        entryCond_ = value;
      }
    }

    /// <summary>Field number for the "EntryCondParam" field.</summary>
    public const int EntryCondParamFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_entryCondParam_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> entryCondParam_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EntryCondParam {
      get { return entryCondParam_; }
    }

    /// <summary>Field number for the "AwardDropId" field.</summary>
    public const int AwardDropIdFieldNumber = 10;
    private int awardDropId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardDropId {
      get { return awardDropId_; }
      set {
        awardDropId_ = value;
      }
    }

    /// <summary>Field number for the "RecommendLv" field.</summary>
    public const int RecommendLvFieldNumber = 11;
    private int recommendLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecommendLv {
      get { return recommendLv_; }
      set {
        recommendLv_ = value;
      }
    }

    /// <summary>Field number for the "RecommendBuildRank" field.</summary>
    public const int RecommendBuildRankFieldNumber = 12;
    private int recommendBuildRank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecommendBuildRank {
      get { return recommendBuildRank_; }
      set {
        recommendBuildRank_ = value;
      }
    }

    /// <summary>Field number for the "BaseAwardPreview" field.</summary>
    public const int BaseAwardPreviewFieldNumber = 13;
    private string baseAwardPreview_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BaseAwardPreview {
      get { return baseAwardPreview_; }
      set {
        baseAwardPreview_ = 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 InfinityTowerLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (DifficultyId != other.DifficultyId) return false;
      if (LevelType != other.LevelType) return false;
      if (Floor != other.Floor) return false;
      if (FloorId != other.FloorId) return false;
      if (PreLevelId != other.PreLevelId) return false;
      if (EntryCond != other.EntryCond) return false;
      if(!entryCondParam_.Equals(other.entryCondParam_)) return false;
      if (AwardDropId != other.AwardDropId) return false;
      if (RecommendLv != other.RecommendLv) return false;
      if (RecommendBuildRank != other.RecommendBuildRank) return false;
      if (BaseAwardPreview != other.BaseAwardPreview) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (DifficultyId != 0) hash ^= DifficultyId.GetHashCode();
      if (LevelType != 0) hash ^= LevelType.GetHashCode();
      if (Floor != 0) hash ^= Floor.GetHashCode();
      if (FloorId != 0) hash ^= FloorId.GetHashCode();
      if (PreLevelId != 0) hash ^= PreLevelId.GetHashCode();
      if (EntryCond != 0) hash ^= EntryCond.GetHashCode();
      hash ^= entryCondParam_.GetHashCode();
      if (AwardDropId != 0) hash ^= AwardDropId.GetHashCode();
      if (RecommendLv != 0) hash ^= RecommendLv.GetHashCode();
      if (RecommendBuildRank != 0) hash ^= RecommendBuildRank.GetHashCode();
      if (BaseAwardPreview.Length != 0) hash ^= BaseAwardPreview.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (DifficultyId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DifficultyId);
      }
      if (LevelType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelType);
      }
      if (Floor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Floor);
      }
      if (FloorId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FloorId);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PreLevelId);
      }
      if (EntryCond != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EntryCond);
      }
      entryCondParam_.WriteTo(output, _repeated_entryCondParam_codec);
      if (AwardDropId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardDropId);
      }
      if (RecommendLv != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RecommendLv);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RecommendBuildRank);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(BaseAwardPreview);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (DifficultyId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DifficultyId);
      }
      if (LevelType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelType);
      }
      if (Floor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Floor);
      }
      if (FloorId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FloorId);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PreLevelId);
      }
      if (EntryCond != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EntryCond);
      }
      entryCondParam_.WriteTo(ref output, _repeated_entryCondParam_codec);
      if (AwardDropId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardDropId);
      }
      if (RecommendLv != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RecommendLv);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RecommendBuildRank);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(BaseAwardPreview);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (DifficultyId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DifficultyId);
      }
      if (LevelType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelType);
      }
      if (Floor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Floor);
      }
      if (FloorId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FloorId);
      }
      if (PreLevelId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelId);
      }
      if (EntryCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EntryCond);
      }
      size += entryCondParam_.CalculateSize(_repeated_entryCondParam_codec);
      if (AwardDropId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardDropId);
      }
      if (RecommendLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecommendLv);
      }
      if (RecommendBuildRank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecommendBuildRank);
      }
      if (BaseAwardPreview.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BaseAwardPreview);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerLevel other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.DifficultyId != 0) {
        DifficultyId = other.DifficultyId;
      }
      if (other.LevelType != 0) {
        LevelType = other.LevelType;
      }
      if (other.Floor != 0) {
        Floor = other.Floor;
      }
      if (other.FloorId != 0) {
        FloorId = other.FloorId;
      }
      if (other.PreLevelId != 0) {
        PreLevelId = other.PreLevelId;
      }
      if (other.EntryCond != 0) {
        EntryCond = other.EntryCond;
      }
      entryCondParam_.Add(other.entryCondParam_);
      if (other.AwardDropId != 0) {
        AwardDropId = other.AwardDropId;
      }
      if (other.RecommendLv != 0) {
        RecommendLv = other.RecommendLv;
      }
      if (other.RecommendBuildRank != 0) {
        RecommendBuildRank = other.RecommendBuildRank;
      }
      if (other.BaseAwardPreview.Length != 0) {
        BaseAwardPreview = other.BaseAwardPreview;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            DifficultyId = input.ReadInt32();
            break;
          }
          case 32: {
            LevelType = input.ReadInt32();
            break;
          }
          case 40: {
            Floor = input.ReadInt32();
            break;
          }
          case 48: {
            FloorId = input.ReadInt32();
            break;
          }
          case 56: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 64: {
            EntryCond = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            entryCondParam_.AddEntriesFrom(input, _repeated_entryCondParam_codec);
            break;
          }
          case 80: {
            AwardDropId = input.ReadInt32();
            break;
          }
          case 88: {
            RecommendLv = input.ReadInt32();
            break;
          }
          case 96: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
          case 106: {
            BaseAwardPreview = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            DifficultyId = input.ReadInt32();
            break;
          }
          case 32: {
            LevelType = input.ReadInt32();
            break;
          }
          case 40: {
            Floor = input.ReadInt32();
            break;
          }
          case 48: {
            FloorId = input.ReadInt32();
            break;
          }
          case 56: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 64: {
            EntryCond = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            entryCondParam_.AddEntriesFrom(ref input, _repeated_entryCondParam_codec);
            break;
          }
          case 80: {
            AwardDropId = input.ReadInt32();
            break;
          }
          case 88: {
            RecommendLv = input.ReadInt32();
            break;
          }
          case 96: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
          case 106: {
            BaseAwardPreview = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerLevel : pb::IMessage<table_InfinityTowerLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerLevel> _parser = new pb::MessageParser<table_InfinityTowerLevel>(() => new table_InfinityTowerLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[233]; }
    }

    [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 table_InfinityTowerLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerLevel(table_InfinityTowerLevel other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerLevel Clone() {
      return new table_InfinityTowerLevel(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerLevel> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerLevel> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerMap : pb::IMessage<InfinityTowerMap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerMap> _parser = new pb::MessageParser<InfinityTowerMap>(() => new InfinityTowerMap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[234]; }
    }

    [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 InfinityTowerMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerMap(InfinityTowerMap other) : this() {
      id_ = other.id_;
      sceneName_ = other.sceneName_;
      configPrefabName_ = other.configPrefabName_;
      theme_ = other.theme_;
      bGM_ = other.bGM_;
      leaveTriggerEvent_ = other.leaveTriggerEvent_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerMap Clone() {
      return new InfinityTowerMap(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 2;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfigPrefabName" field.</summary>
    public const int ConfigPrefabNameFieldNumber = 3;
    private string configPrefabName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigPrefabName {
      get { return configPrefabName_; }
      set {
        configPrefabName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 5;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LeaveTriggerEvent" field.</summary>
    public const int LeaveTriggerEventFieldNumber = 6;
    private string leaveTriggerEvent_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LeaveTriggerEvent {
      get { return leaveTriggerEvent_; }
      set {
        leaveTriggerEvent_ = 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 InfinityTowerMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneName != other.SceneName) return false;
      if (ConfigPrefabName != other.ConfigPrefabName) return false;
      if (Theme != other.Theme) return false;
      if (BGM != other.BGM) return false;
      if (LeaveTriggerEvent != other.LeaveTriggerEvent) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (ConfigPrefabName.Length != 0) hash ^= ConfigPrefabName.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.GetHashCode();
      if (LeaveTriggerEvent.Length != 0) hash ^= LeaveTriggerEvent.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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigPrefabName);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LeaveTriggerEvent);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerMap other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.ConfigPrefabName.Length != 0) {
        ConfigPrefabName = other.ConfigPrefabName;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      if (other.LeaveTriggerEvent.Length != 0) {
        LeaveTriggerEvent = other.LeaveTriggerEvent;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerMap : pb::IMessage<table_InfinityTowerMap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerMap> _parser = new pb::MessageParser<table_InfinityTowerMap>(() => new table_InfinityTowerMap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[235]; }
    }

    [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 table_InfinityTowerMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerMap(table_InfinityTowerMap other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerMap Clone() {
      return new table_InfinityTowerMap(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerMap> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerMap.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerMap> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerMap>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerMap> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerMap other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerMsg : pb::IMessage<InfinityTowerMsg>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerMsg> _parser = new pb::MessageParser<InfinityTowerMsg>(() => new InfinityTowerMsg());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerMsg> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[236]; }
    }

    [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 InfinityTowerMsg() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerMsg(InfinityTowerMsg other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      content_ = other.content_;
      type_ = other.type_;
      dayOfWeek_ = other.dayOfWeek_.Clone();
      condition_ = other.condition_;
      params_ = other.params_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerMsg Clone() {
      return new InfinityTowerMsg(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Content" field.</summary>
    public const int ContentFieldNumber = 3;
    private string content_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Content {
      get { return content_; }
      set {
        content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 4;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "DayOfWeek" field.</summary>
    public const int DayOfWeekFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_dayOfWeek_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> dayOfWeek_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DayOfWeek {
      get { return dayOfWeek_; }
    }

    /// <summary>Field number for the "Condition" field.</summary>
    public const int ConditionFieldNumber = 6;
    private int condition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Condition {
      get { return condition_; }
      set {
        condition_ = value;
      }
    }

    /// <summary>Field number for the "Params" field.</summary>
    public const int ParamsFieldNumber = 7;
    private string params_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Params {
      get { return params_; }
      set {
        params_ = 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 InfinityTowerMsg);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerMsg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Content != other.Content) return false;
      if (Type != other.Type) return false;
      if(!dayOfWeek_.Equals(other.dayOfWeek_)) return false;
      if (Condition != other.Condition) return false;
      if (Params != other.Params) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Content.Length != 0) hash ^= Content.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      hash ^= dayOfWeek_.GetHashCode();
      if (Condition != 0) hash ^= Condition.GetHashCode();
      if (Params.Length != 0) hash ^= Params.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Content);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      dayOfWeek_.WriteTo(output, _repeated_dayOfWeek_codec);
      if (Condition != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Condition);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Params);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Content);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      dayOfWeek_.WriteTo(ref output, _repeated_dayOfWeek_codec);
      if (Condition != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Condition);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Params);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Content.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      size += dayOfWeek_.CalculateSize(_repeated_dayOfWeek_codec);
      if (Condition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Condition);
      }
      if (Params.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Params);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerMsg other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Content.Length != 0) {
        Content = other.Content;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      dayOfWeek_.Add(other.dayOfWeek_);
      if (other.Condition != 0) {
        Condition = other.Condition;
      }
      if (other.Params.Length != 0) {
        Params = other.Params;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Content = input.ReadString();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            dayOfWeek_.AddEntriesFrom(input, _repeated_dayOfWeek_codec);
            break;
          }
          case 48: {
            Condition = input.ReadInt32();
            break;
          }
          case 58: {
            Params = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Content = input.ReadString();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            dayOfWeek_.AddEntriesFrom(ref input, _repeated_dayOfWeek_codec);
            break;
          }
          case 48: {
            Condition = input.ReadInt32();
            break;
          }
          case 58: {
            Params = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerMsg : pb::IMessage<table_InfinityTowerMsg>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerMsg> _parser = new pb::MessageParser<table_InfinityTowerMsg>(() => new table_InfinityTowerMsg());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerMsg> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[237]; }
    }

    [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 table_InfinityTowerMsg() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerMsg(table_InfinityTowerMsg other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerMsg Clone() {
      return new table_InfinityTowerMsg(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerMsg> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerMsg.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerMsg> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerMsg>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerMsg> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerMsg);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerMsg other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerMsg other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InfinityTowerPlot : pb::IMessage<InfinityTowerPlot>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InfinityTowerPlot> _parser = new pb::MessageParser<InfinityTowerPlot>(() => new InfinityTowerPlot());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InfinityTowerPlot> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[238]; }
    }

    [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 InfinityTowerPlot() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerPlot(InfinityTowerPlot other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      plotSum_ = other.plotSum_;
      plotId_ = other.plotId_;
      avgId_ = other.avgId_;
      unlockCond_ = other.unlockCond_;
      condParam_ = other.condParam_.Clone();
      rewardItemId_ = other.rewardItemId_;
      rewardItemQty_ = other.rewardItemQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InfinityTowerPlot Clone() {
      return new InfinityTowerPlot(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PlotSum" field.</summary>
    public const int PlotSumFieldNumber = 4;
    private string plotSum_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PlotSum {
      get { return plotSum_; }
      set {
        plotSum_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PlotId" field.</summary>
    public const int PlotIdFieldNumber = 5;
    private int plotId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlotId {
      get { return plotId_; }
      set {
        plotId_ = value;
      }
    }

    /// <summary>Field number for the "avgId" field.</summary>
    public const int AvgIdFieldNumber = 6;
    private string avgId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AvgId {
      get { return avgId_; }
      set {
        avgId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UnlockCond" field.</summary>
    public const int UnlockCondFieldNumber = 7;
    private int unlockCond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockCond {
      get { return unlockCond_; }
      set {
        unlockCond_ = value;
      }
    }

    /// <summary>Field number for the "CondParam" field.</summary>
    public const int CondParamFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_condParam_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> condParam_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CondParam {
      get { return condParam_; }
    }

    /// <summary>Field number for the "RewardItemId" field.</summary>
    public const int RewardItemIdFieldNumber = 9;
    private int rewardItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardItemId {
      get { return rewardItemId_; }
      set {
        rewardItemId_ = value;
      }
    }

    /// <summary>Field number for the "RewardItemQty" field.</summary>
    public const int RewardItemQtyFieldNumber = 10;
    private int rewardItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardItemQty {
      get { return rewardItemQty_; }
      set {
        rewardItemQty_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as InfinityTowerPlot);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InfinityTowerPlot other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (PlotSum != other.PlotSum) return false;
      if (PlotId != other.PlotId) return false;
      if (AvgId != other.AvgId) return false;
      if (UnlockCond != other.UnlockCond) return false;
      if(!condParam_.Equals(other.condParam_)) return false;
      if (RewardItemId != other.RewardItemId) return false;
      if (RewardItemQty != other.RewardItemQty) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (PlotSum.Length != 0) hash ^= PlotSum.GetHashCode();
      if (PlotId != 0) hash ^= PlotId.GetHashCode();
      if (AvgId.Length != 0) hash ^= AvgId.GetHashCode();
      if (UnlockCond != 0) hash ^= UnlockCond.GetHashCode();
      hash ^= condParam_.GetHashCode();
      if (RewardItemId != 0) hash ^= RewardItemId.GetHashCode();
      if (RewardItemQty != 0) hash ^= RewardItemQty.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (PlotSum.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(PlotSum);
      }
      if (PlotId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlotId);
      }
      if (AvgId.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AvgId);
      }
      if (UnlockCond != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(UnlockCond);
      }
      condParam_.WriteTo(output, _repeated_condParam_codec);
      if (RewardItemId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RewardItemId);
      }
      if (RewardItemQty != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardItemQty);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (PlotSum.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(PlotSum);
      }
      if (PlotId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(PlotId);
      }
      if (AvgId.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AvgId);
      }
      if (UnlockCond != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(UnlockCond);
      }
      condParam_.WriteTo(ref output, _repeated_condParam_codec);
      if (RewardItemId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RewardItemId);
      }
      if (RewardItemQty != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardItemQty);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (PlotSum.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PlotSum);
      }
      if (PlotId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlotId);
      }
      if (AvgId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AvgId);
      }
      if (UnlockCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockCond);
      }
      size += condParam_.CalculateSize(_repeated_condParam_codec);
      if (RewardItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardItemId);
      }
      if (RewardItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardItemQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InfinityTowerPlot other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.PlotSum.Length != 0) {
        PlotSum = other.PlotSum;
      }
      if (other.PlotId != 0) {
        PlotId = other.PlotId;
      }
      if (other.AvgId.Length != 0) {
        AvgId = other.AvgId;
      }
      if (other.UnlockCond != 0) {
        UnlockCond = other.UnlockCond;
      }
      condParam_.Add(other.condParam_);
      if (other.RewardItemId != 0) {
        RewardItemId = other.RewardItemId;
      }
      if (other.RewardItemQty != 0) {
        RewardItemQty = other.RewardItemQty;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            PlotSum = input.ReadString();
            break;
          }
          case 40: {
            PlotId = input.ReadInt32();
            break;
          }
          case 50: {
            AvgId = input.ReadString();
            break;
          }
          case 56: {
            UnlockCond = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            condParam_.AddEntriesFrom(input, _repeated_condParam_codec);
            break;
          }
          case 72: {
            RewardItemId = input.ReadInt32();
            break;
          }
          case 80: {
            RewardItemQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            PlotSum = input.ReadString();
            break;
          }
          case 40: {
            PlotId = input.ReadInt32();
            break;
          }
          case 50: {
            AvgId = input.ReadString();
            break;
          }
          case 56: {
            UnlockCond = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            condParam_.AddEntriesFrom(ref input, _repeated_condParam_codec);
            break;
          }
          case 72: {
            RewardItemId = input.ReadInt32();
            break;
          }
          case 80: {
            RewardItemQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InfinityTowerPlot : pb::IMessage<table_InfinityTowerPlot>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InfinityTowerPlot> _parser = new pb::MessageParser<table_InfinityTowerPlot>(() => new table_InfinityTowerPlot());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InfinityTowerPlot> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[239]; }
    }

    [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 table_InfinityTowerPlot() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerPlot(table_InfinityTowerPlot other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InfinityTowerPlot Clone() {
      return new table_InfinityTowerPlot(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InfinityTowerPlot> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InfinityTowerPlot.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InfinityTowerPlot> list_ = new pbc::RepeatedField<global::Nova.Client.InfinityTowerPlot>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InfinityTowerPlot> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InfinityTowerPlot);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InfinityTowerPlot other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InfinityTowerPlot other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class InteractiveAction : pb::IMessage<InteractiveAction>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<InteractiveAction> _parser = new pb::MessageParser<InteractiveAction>(() => new InteractiveAction());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<InteractiveAction> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[240]; }
    }

    [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 InteractiveAction() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InteractiveAction(InteractiveAction other) : this() {
      id_ = other.id_;
      playerAni_ = other.playerAni_;
      icon0_ = other.icon0_;
      title0_ = other.title0_;
      icon1_ = other.icon1_;
      title1_ = other.title1_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public InteractiveAction Clone() {
      return new InteractiveAction(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "PlayerAni" field.</summary>
    public const int PlayerAniFieldNumber = 2;
    private bool playerAni_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PlayerAni {
      get { return playerAni_; }
      set {
        playerAni_ = value;
      }
    }

    /// <summary>Field number for the "Icon0" field.</summary>
    public const int Icon0FieldNumber = 3;
    private string icon0_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon0 {
      get { return icon0_; }
      set {
        icon0_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title0" field.</summary>
    public const int Title0FieldNumber = 4;
    private string title0_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title0 {
      get { return title0_; }
      set {
        title0_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon1" field.</summary>
    public const int Icon1FieldNumber = 5;
    private string icon1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon1 {
      get { return icon1_; }
      set {
        icon1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title1" field.</summary>
    public const int Title1FieldNumber = 6;
    private string title1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title1 {
      get { return title1_; }
      set {
        title1_ = 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 InteractiveAction);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(InteractiveAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (PlayerAni != other.PlayerAni) return false;
      if (Icon0 != other.Icon0) return false;
      if (Title0 != other.Title0) return false;
      if (Icon1 != other.Icon1) return false;
      if (Title1 != other.Title1) 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 (PlayerAni != false) hash ^= PlayerAni.GetHashCode();
      if (Icon0.Length != 0) hash ^= Icon0.GetHashCode();
      if (Title0.Length != 0) hash ^= Title0.GetHashCode();
      if (Icon1.Length != 0) hash ^= Icon1.GetHashCode();
      if (Title1.Length != 0) hash ^= Title1.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.WriteInt32(Id);
      }
      if (PlayerAni != false) {
        output.WriteRawTag(16);
        output.WriteBool(PlayerAni);
      }
      if (Icon0.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon0);
      }
      if (Title0.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title0);
      }
      if (Icon1.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon1);
      }
      if (Title1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Title1);
      }
      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.WriteInt32(Id);
      }
      if (PlayerAni != false) {
        output.WriteRawTag(16);
        output.WriteBool(PlayerAni);
      }
      if (Icon0.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon0);
      }
      if (Title0.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title0);
      }
      if (Icon1.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon1);
      }
      if (Title1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Title1);
      }
      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.ComputeInt32Size(Id);
      }
      if (PlayerAni != false) {
        size += 1 + 1;
      }
      if (Icon0.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon0);
      }
      if (Title0.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title0);
      }
      if (Icon1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon1);
      }
      if (Title1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title1);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(InteractiveAction other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.PlayerAni != false) {
        PlayerAni = other.PlayerAni;
      }
      if (other.Icon0.Length != 0) {
        Icon0 = other.Icon0;
      }
      if (other.Title0.Length != 0) {
        Title0 = other.Title0;
      }
      if (other.Icon1.Length != 0) {
        Icon1 = other.Icon1;
      }
      if (other.Title1.Length != 0) {
        Title1 = other.Title1;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            PlayerAni = input.ReadBool();
            break;
          }
          case 26: {
            Icon0 = input.ReadString();
            break;
          }
          case 34: {
            Title0 = input.ReadString();
            break;
          }
          case 42: {
            Icon1 = input.ReadString();
            break;
          }
          case 50: {
            Title1 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            PlayerAni = input.ReadBool();
            break;
          }
          case 26: {
            Icon0 = input.ReadString();
            break;
          }
          case 34: {
            Title0 = input.ReadString();
            break;
          }
          case 42: {
            Icon1 = input.ReadString();
            break;
          }
          case 50: {
            Title1 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_InteractiveAction : pb::IMessage<table_InteractiveAction>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_InteractiveAction> _parser = new pb::MessageParser<table_InteractiveAction>(() => new table_InteractiveAction());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_InteractiveAction> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[241]; }
    }

    [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 table_InteractiveAction() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InteractiveAction(table_InteractiveAction other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_InteractiveAction Clone() {
      return new table_InteractiveAction(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.InteractiveAction> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.InteractiveAction.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.InteractiveAction> list_ = new pbc::RepeatedField<global::Nova.Client.InteractiveAction>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.InteractiveAction> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_InteractiveAction);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_InteractiveAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_InteractiveAction other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Item : pb::IMessage<Item>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Item> _parser = new pb::MessageParser<Item>(() => new Item());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Item> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[242]; }
    }

    [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 Item() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Item(Item other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      desc_ = other.desc_;
      literary_ = other.literary_;
      type_ = other.type_;
      stype_ = other.stype_;
      rarity_ = other.rarity_;
      stack_ = other.stack_;
      positionLimit_ = other.positionLimit_;
      expireType_ = other.expireType_;
      useMode_ = other.useMode_;
      useAction_ = other.useAction_;
      useArgs_ = other.useArgs_;
      display_ = other.display_;
      obtainWays_ = other.obtainWays_;
      jumpTo_ = other.jumpTo_.Clone();
      icon_ = other.icon_;
      icon2_ = other.icon2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Item Clone() {
      return new Item(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Literary" field.</summary>
    public const int LiteraryFieldNumber = 4;
    private string literary_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Literary {
      get { return literary_; }
      set {
        literary_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 5;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Stype" field.</summary>
    public const int StypeFieldNumber = 6;
    private int stype_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Stype {
      get { return stype_; }
      set {
        stype_ = value;
      }
    }

    /// <summary>Field number for the "Rarity" field.</summary>
    public const int RarityFieldNumber = 7;
    private int rarity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rarity {
      get { return rarity_; }
      set {
        rarity_ = value;
      }
    }

    /// <summary>Field number for the "Stack" field.</summary>
    public const int StackFieldNumber = 8;
    private bool stack_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Stack {
      get { return stack_; }
      set {
        stack_ = value;
      }
    }

    /// <summary>Field number for the "PositionLimit" field.</summary>
    public const int PositionLimitFieldNumber = 9;
    private int positionLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PositionLimit {
      get { return positionLimit_; }
      set {
        positionLimit_ = value;
      }
    }

    /// <summary>Field number for the "ExpireType" field.</summary>
    public const int ExpireTypeFieldNumber = 10;
    private int expireType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExpireType {
      get { return expireType_; }
      set {
        expireType_ = value;
      }
    }

    /// <summary>Field number for the "UseMode" field.</summary>
    public const int UseModeFieldNumber = 11;
    private int useMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UseMode {
      get { return useMode_; }
      set {
        useMode_ = value;
      }
    }

    /// <summary>Field number for the "UseAction" field.</summary>
    public const int UseActionFieldNumber = 12;
    private int useAction_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UseAction {
      get { return useAction_; }
      set {
        useAction_ = value;
      }
    }

    /// <summary>Field number for the "UseArgs" field.</summary>
    public const int UseArgsFieldNumber = 13;
    private string useArgs_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UseArgs {
      get { return useArgs_; }
      set {
        useArgs_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Display" field.</summary>
    public const int DisplayFieldNumber = 14;
    private bool display_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Display {
      get { return display_; }
      set {
        display_ = value;
      }
    }

    /// <summary>Field number for the "ObtainWays" field.</summary>
    public const int ObtainWaysFieldNumber = 15;
    private string obtainWays_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ObtainWays {
      get { return obtainWays_; }
      set {
        obtainWays_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 16;
    private static readonly pb::FieldCodec<int> _repeated_jumpTo_codec
        = pb::FieldCodec.ForInt32(130);
    private readonly pbc::RepeatedField<int> jumpTo_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> JumpTo {
      get { return jumpTo_; }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 17;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon2" field.</summary>
    public const int Icon2FieldNumber = 18;
    private string icon2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon2 {
      get { return icon2_; }
      set {
        icon2_ = 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 Item);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Item other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (Literary != other.Literary) return false;
      if (Type != other.Type) return false;
      if (Stype != other.Stype) return false;
      if (Rarity != other.Rarity) return false;
      if (Stack != other.Stack) return false;
      if (PositionLimit != other.PositionLimit) return false;
      if (ExpireType != other.ExpireType) return false;
      if (UseMode != other.UseMode) return false;
      if (UseAction != other.UseAction) return false;
      if (UseArgs != other.UseArgs) return false;
      if (Display != other.Display) return false;
      if (ObtainWays != other.ObtainWays) return false;
      if(!jumpTo_.Equals(other.jumpTo_)) return false;
      if (Icon != other.Icon) return false;
      if (Icon2 != other.Icon2) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Literary.Length != 0) hash ^= Literary.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Stype != 0) hash ^= Stype.GetHashCode();
      if (Rarity != 0) hash ^= Rarity.GetHashCode();
      if (Stack != false) hash ^= Stack.GetHashCode();
      if (PositionLimit != 0) hash ^= PositionLimit.GetHashCode();
      if (ExpireType != 0) hash ^= ExpireType.GetHashCode();
      if (UseMode != 0) hash ^= UseMode.GetHashCode();
      if (UseAction != 0) hash ^= UseAction.GetHashCode();
      if (UseArgs.Length != 0) hash ^= UseArgs.GetHashCode();
      if (Display != false) hash ^= Display.GetHashCode();
      if (ObtainWays.Length != 0) hash ^= ObtainWays.GetHashCode();
      hash ^= jumpTo_.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Icon2.Length != 0) hash ^= Icon2.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Literary.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Literary);
      }
      if (Type != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Type);
      }
      if (Stype != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Stype);
      }
      if (Rarity != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Rarity);
      }
      if (Stack != false) {
        output.WriteRawTag(64);
        output.WriteBool(Stack);
      }
      if (PositionLimit != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(PositionLimit);
      }
      if (ExpireType != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ExpireType);
      }
      if (UseMode != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UseMode);
      }
      if (UseAction != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(UseAction);
      }
      if (UseArgs.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(UseArgs);
      }
      if (Display != false) {
        output.WriteRawTag(112);
        output.WriteBool(Display);
      }
      if (ObtainWays.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(ObtainWays);
      }
      jumpTo_.WriteTo(output, _repeated_jumpTo_codec);
      if (Icon.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Icon);
      }
      if (Icon2.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Icon2);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Literary.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Literary);
      }
      if (Type != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Type);
      }
      if (Stype != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Stype);
      }
      if (Rarity != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Rarity);
      }
      if (Stack != false) {
        output.WriteRawTag(64);
        output.WriteBool(Stack);
      }
      if (PositionLimit != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(PositionLimit);
      }
      if (ExpireType != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ExpireType);
      }
      if (UseMode != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UseMode);
      }
      if (UseAction != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(UseAction);
      }
      if (UseArgs.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(UseArgs);
      }
      if (Display != false) {
        output.WriteRawTag(112);
        output.WriteBool(Display);
      }
      if (ObtainWays.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(ObtainWays);
      }
      jumpTo_.WriteTo(ref output, _repeated_jumpTo_codec);
      if (Icon.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Icon);
      }
      if (Icon2.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Icon2);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Literary.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Literary);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Stype != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stype);
      }
      if (Rarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rarity);
      }
      if (Stack != false) {
        size += 1 + 1;
      }
      if (PositionLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PositionLimit);
      }
      if (ExpireType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExpireType);
      }
      if (UseMode != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UseMode);
      }
      if (UseAction != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UseAction);
      }
      if (UseArgs.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UseArgs);
      }
      if (Display != false) {
        size += 1 + 1;
      }
      if (ObtainWays.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ObtainWays);
      }
      size += jumpTo_.CalculateSize(_repeated_jumpTo_codec);
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Icon2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Item other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Literary.Length != 0) {
        Literary = other.Literary;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Stype != 0) {
        Stype = other.Stype;
      }
      if (other.Rarity != 0) {
        Rarity = other.Rarity;
      }
      if (other.Stack != false) {
        Stack = other.Stack;
      }
      if (other.PositionLimit != 0) {
        PositionLimit = other.PositionLimit;
      }
      if (other.ExpireType != 0) {
        ExpireType = other.ExpireType;
      }
      if (other.UseMode != 0) {
        UseMode = other.UseMode;
      }
      if (other.UseAction != 0) {
        UseAction = other.UseAction;
      }
      if (other.UseArgs.Length != 0) {
        UseArgs = other.UseArgs;
      }
      if (other.Display != false) {
        Display = other.Display;
      }
      if (other.ObtainWays.Length != 0) {
        ObtainWays = other.ObtainWays;
      }
      jumpTo_.Add(other.jumpTo_);
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Icon2.Length != 0) {
        Icon2 = other.Icon2;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Literary = input.ReadString();
            break;
          }
          case 40: {
            Type = input.ReadInt32();
            break;
          }
          case 48: {
            Stype = input.ReadInt32();
            break;
          }
          case 56: {
            Rarity = input.ReadInt32();
            break;
          }
          case 64: {
            Stack = input.ReadBool();
            break;
          }
          case 72: {
            PositionLimit = input.ReadInt32();
            break;
          }
          case 80: {
            ExpireType = input.ReadInt32();
            break;
          }
          case 88: {
            UseMode = input.ReadInt32();
            break;
          }
          case 96: {
            UseAction = input.ReadInt32();
            break;
          }
          case 106: {
            UseArgs = input.ReadString();
            break;
          }
          case 112: {
            Display = input.ReadBool();
            break;
          }
          case 122: {
            ObtainWays = input.ReadString();
            break;
          }
          case 130:
          case 128: {
            jumpTo_.AddEntriesFrom(input, _repeated_jumpTo_codec);
            break;
          }
          case 138: {
            Icon = input.ReadString();
            break;
          }
          case 146: {
            Icon2 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Literary = input.ReadString();
            break;
          }
          case 40: {
            Type = input.ReadInt32();
            break;
          }
          case 48: {
            Stype = input.ReadInt32();
            break;
          }
          case 56: {
            Rarity = input.ReadInt32();
            break;
          }
          case 64: {
            Stack = input.ReadBool();
            break;
          }
          case 72: {
            PositionLimit = input.ReadInt32();
            break;
          }
          case 80: {
            ExpireType = input.ReadInt32();
            break;
          }
          case 88: {
            UseMode = input.ReadInt32();
            break;
          }
          case 96: {
            UseAction = input.ReadInt32();
            break;
          }
          case 106: {
            UseArgs = input.ReadString();
            break;
          }
          case 112: {
            Display = input.ReadBool();
            break;
          }
          case 122: {
            ObtainWays = input.ReadString();
            break;
          }
          case 130:
          case 128: {
            jumpTo_.AddEntriesFrom(ref input, _repeated_jumpTo_codec);
            break;
          }
          case 138: {
            Icon = input.ReadString();
            break;
          }
          case 146: {
            Icon2 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Item : pb::IMessage<table_Item>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Item> _parser = new pb::MessageParser<table_Item>(() => new table_Item());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Item> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[243]; }
    }

    [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 table_Item() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Item(table_Item other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Item Clone() {
      return new table_Item(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Item> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Item.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Item> list_ = new pbc::RepeatedField<global::Nova.Client.Item>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Item> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Item);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Item other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Item other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ItemPackMark : pb::IMessage<ItemPackMark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ItemPackMark> _parser = new pb::MessageParser<ItemPackMark>(() => new ItemPackMark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ItemPackMark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[244]; }
    }

    [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 ItemPackMark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ItemPackMark(ItemPackMark other) : this() {
      id_ = other.id_;
      packMark_ = other.packMark_;
      itemStype_ = other.itemStype_.Clone();
      name_ = other.name_;
      sort_ = other.sort_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ItemPackMark Clone() {
      return new ItemPackMark(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "PackMark" field.</summary>
    public const int PackMarkFieldNumber = 2;
    private int packMark_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PackMark {
      get { return packMark_; }
      set {
        packMark_ = value;
      }
    }

    /// <summary>Field number for the "ItemStype" field.</summary>
    public const int ItemStypeFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_itemStype_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> itemStype_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ItemStype {
      get { return itemStype_; }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 5;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ItemPackMark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ItemPackMark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (PackMark != other.PackMark) return false;
      if(!itemStype_.Equals(other.itemStype_)) return false;
      if (Name != other.Name) return false;
      if (Sort != other.Sort) 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 (PackMark != 0) hash ^= PackMark.GetHashCode();
      hash ^= itemStype_.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Sort != 0) hash ^= Sort.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.WriteInt32(Id);
      }
      if (PackMark != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PackMark);
      }
      itemStype_.WriteTo(output, _repeated_itemStype_codec);
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      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.WriteInt32(Id);
      }
      if (PackMark != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PackMark);
      }
      itemStype_.WriteTo(ref output, _repeated_itemStype_codec);
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      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.ComputeInt32Size(Id);
      }
      if (PackMark != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PackMark);
      }
      size += itemStype_.CalculateSize(_repeated_itemStype_codec);
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ItemPackMark other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.PackMark != 0) {
        PackMark = other.PackMark;
      }
      itemStype_.Add(other.itemStype_);
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            PackMark = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            itemStype_.AddEntriesFrom(input, _repeated_itemStype_codec);
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            PackMark = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            itemStype_.AddEntriesFrom(ref input, _repeated_itemStype_codec);
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ItemPackMark : pb::IMessage<table_ItemPackMark>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ItemPackMark> _parser = new pb::MessageParser<table_ItemPackMark>(() => new table_ItemPackMark());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ItemPackMark> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[245]; }
    }

    [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 table_ItemPackMark() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ItemPackMark(table_ItemPackMark other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ItemPackMark Clone() {
      return new table_ItemPackMark(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ItemPackMark> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ItemPackMark.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ItemPackMark> list_ = new pbc::RepeatedField<global::Nova.Client.ItemPackMark>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ItemPackMark> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ItemPackMark);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ItemPackMark other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ItemPackMark other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class JumpTo : pb::IMessage<JumpTo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<JumpTo> _parser = new pb::MessageParser<JumpTo>(() => new JumpTo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<JumpTo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[246]; }
    }

    [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 JumpTo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public JumpTo(JumpTo other) : this() {
      id_ = other.id_;
      type_ = other.type_;
      param_ = other.param_.Clone();
      desc_ = other.desc_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public JumpTo Clone() {
      return new JumpTo(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 2;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Param" field.</summary>
    public const int ParamFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_param_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> param_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Param {
      get { return param_; }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 5;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 JumpTo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(JumpTo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Type != other.Type) return false;
      if(!param_.Equals(other.param_)) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) 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 (Type != 0) hash ^= Type.GetHashCode();
      hash ^= param_.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      param_.WriteTo(output, _repeated_param_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon);
      }
      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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      param_.WriteTo(ref output, _repeated_param_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon);
      }
      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.ComputeInt32Size(Id);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      size += param_.CalculateSize(_repeated_param_codec);
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(JumpTo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      param_.Add(other.param_);
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            param_.AddEntriesFrom(input, _repeated_param_codec);
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            param_.AddEntriesFrom(ref input, _repeated_param_codec);
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_JumpTo : pb::IMessage<table_JumpTo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_JumpTo> _parser = new pb::MessageParser<table_JumpTo>(() => new table_JumpTo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_JumpTo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[247]; }
    }

    [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 table_JumpTo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_JumpTo(table_JumpTo other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_JumpTo Clone() {
      return new table_JumpTo(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.JumpTo> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.JumpTo.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.JumpTo> list_ = new pbc::RepeatedField<global::Nova.Client.JumpTo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.JumpTo> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_JumpTo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_JumpTo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_JumpTo other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class LoginRewardControl : pb::IMessage<LoginRewardControl>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<LoginRewardControl> _parser = new pb::MessageParser<LoginRewardControl>(() => new LoginRewardControl());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<LoginRewardControl> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[248]; }
    }

    [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 LoginRewardControl() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LoginRewardControl(LoginRewardControl other) : this() {
      id_ = other.id_;
      rewardsGroup_ = other.rewardsGroup_;
      desText_ = other.desText_;
      uIAssets_ = other.uIAssets_;
      popUpUIAssets_ = other.popUpUIAssets_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LoginRewardControl Clone() {
      return new LoginRewardControl(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RewardsGroup" field.</summary>
    public const int RewardsGroupFieldNumber = 2;
    private int rewardsGroup_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardsGroup {
      get { return rewardsGroup_; }
      set {
        rewardsGroup_ = value;
      }
    }

    /// <summary>Field number for the "DesText" field.</summary>
    public const int DesTextFieldNumber = 3;
    private string desText_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DesText {
      get { return desText_; }
      set {
        desText_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UIAssets" field.</summary>
    public const int UIAssetsFieldNumber = 4;
    private string uIAssets_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UIAssets {
      get { return uIAssets_; }
      set {
        uIAssets_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PopUpUIAssets" field.</summary>
    public const int PopUpUIAssetsFieldNumber = 5;
    private string popUpUIAssets_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PopUpUIAssets {
      get { return popUpUIAssets_; }
      set {
        popUpUIAssets_ = 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 LoginRewardControl);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LoginRewardControl other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RewardsGroup != other.RewardsGroup) return false;
      if (DesText != other.DesText) return false;
      if (UIAssets != other.UIAssets) return false;
      if (PopUpUIAssets != other.PopUpUIAssets) 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 (RewardsGroup != 0) hash ^= RewardsGroup.GetHashCode();
      if (DesText.Length != 0) hash ^= DesText.GetHashCode();
      if (UIAssets.Length != 0) hash ^= UIAssets.GetHashCode();
      if (PopUpUIAssets.Length != 0) hash ^= PopUpUIAssets.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.WriteInt32(Id);
      }
      if (RewardsGroup != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RewardsGroup);
      }
      if (DesText.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(DesText);
      }
      if (UIAssets.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(UIAssets);
      }
      if (PopUpUIAssets.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(PopUpUIAssets);
      }
      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.WriteInt32(Id);
      }
      if (RewardsGroup != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RewardsGroup);
      }
      if (DesText.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(DesText);
      }
      if (UIAssets.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(UIAssets);
      }
      if (PopUpUIAssets.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(PopUpUIAssets);
      }
      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.ComputeInt32Size(Id);
      }
      if (RewardsGroup != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardsGroup);
      }
      if (DesText.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DesText);
      }
      if (UIAssets.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UIAssets);
      }
      if (PopUpUIAssets.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PopUpUIAssets);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LoginRewardControl other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RewardsGroup != 0) {
        RewardsGroup = other.RewardsGroup;
      }
      if (other.DesText.Length != 0) {
        DesText = other.DesText;
      }
      if (other.UIAssets.Length != 0) {
        UIAssets = other.UIAssets;
      }
      if (other.PopUpUIAssets.Length != 0) {
        PopUpUIAssets = other.PopUpUIAssets;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            RewardsGroup = input.ReadInt32();
            break;
          }
          case 26: {
            DesText = input.ReadString();
            break;
          }
          case 34: {
            UIAssets = input.ReadString();
            break;
          }
          case 42: {
            PopUpUIAssets = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RewardsGroup = input.ReadInt32();
            break;
          }
          case 26: {
            DesText = input.ReadString();
            break;
          }
          case 34: {
            UIAssets = input.ReadString();
            break;
          }
          case 42: {
            PopUpUIAssets = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_LoginRewardControl : pb::IMessage<table_LoginRewardControl>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_LoginRewardControl> _parser = new pb::MessageParser<table_LoginRewardControl>(() => new table_LoginRewardControl());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_LoginRewardControl> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[249]; }
    }

    [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 table_LoginRewardControl() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_LoginRewardControl(table_LoginRewardControl other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_LoginRewardControl Clone() {
      return new table_LoginRewardControl(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.LoginRewardControl> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.LoginRewardControl.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.LoginRewardControl> list_ = new pbc::RepeatedField<global::Nova.Client.LoginRewardControl>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.LoginRewardControl> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_LoginRewardControl);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_LoginRewardControl other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_LoginRewardControl other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class LoginRewardGroup : pb::IMessage<LoginRewardGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<LoginRewardGroup> _parser = new pb::MessageParser<LoginRewardGroup>(() => new LoginRewardGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<LoginRewardGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[250]; }
    }

    [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 LoginRewardGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LoginRewardGroup(LoginRewardGroup other) : this() {
      rewardGroupId_ = other.rewardGroupId_;
      order_ = other.order_;
      rewardId1_ = other.rewardId1_;
      qty1_ = other.qty1_;
      rewardId2_ = other.rewardId2_;
      qty2_ = other.qty2_;
      rewardId3_ = other.rewardId3_;
      qty3_ = other.qty3_;
      rewardIcon_ = other.rewardIcon_;
      rewardCount_ = other.rewardCount_;
      rewardDesc_ = other.rewardDesc_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public LoginRewardGroup Clone() {
      return new LoginRewardGroup(this);
    }

    /// <summary>Field number for the "RewardGroupId" field.</summary>
    public const int RewardGroupIdFieldNumber = 1;
    private int rewardGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardGroupId {
      get { return rewardGroupId_; }
      set {
        rewardGroupId_ = value;
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 2;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "RewardId1" field.</summary>
    public const int RewardId1FieldNumber = 3;
    private int rewardId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardId1 {
      get { return rewardId1_; }
      set {
        rewardId1_ = value;
      }
    }

    /// <summary>Field number for the "Qty1" field.</summary>
    public const int Qty1FieldNumber = 4;
    private int qty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Qty1 {
      get { return qty1_; }
      set {
        qty1_ = value;
      }
    }

    /// <summary>Field number for the "RewardId2" field.</summary>
    public const int RewardId2FieldNumber = 5;
    private int rewardId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardId2 {
      get { return rewardId2_; }
      set {
        rewardId2_ = value;
      }
    }

    /// <summary>Field number for the "Qty2" field.</summary>
    public const int Qty2FieldNumber = 6;
    private int qty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Qty2 {
      get { return qty2_; }
      set {
        qty2_ = value;
      }
    }

    /// <summary>Field number for the "RewardId3" field.</summary>
    public const int RewardId3FieldNumber = 7;
    private int rewardId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardId3 {
      get { return rewardId3_; }
      set {
        rewardId3_ = value;
      }
    }

    /// <summary>Field number for the "Qty3" field.</summary>
    public const int Qty3FieldNumber = 8;
    private int qty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Qty3 {
      get { return qty3_; }
      set {
        qty3_ = value;
      }
    }

    /// <summary>Field number for the "RewardIcon" field.</summary>
    public const int RewardIconFieldNumber = 9;
    private string rewardIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardIcon {
      get { return rewardIcon_; }
      set {
        rewardIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RewardCount" field.</summary>
    public const int RewardCountFieldNumber = 10;
    private int rewardCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardCount {
      get { return rewardCount_; }
      set {
        rewardCount_ = value;
      }
    }

    /// <summary>Field number for the "RewardDesc" field.</summary>
    public const int RewardDescFieldNumber = 11;
    private string rewardDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardDesc {
      get { return rewardDesc_; }
      set {
        rewardDesc_ = 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 LoginRewardGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(LoginRewardGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (RewardGroupId != other.RewardGroupId) return false;
      if (Order != other.Order) return false;
      if (RewardId1 != other.RewardId1) return false;
      if (Qty1 != other.Qty1) return false;
      if (RewardId2 != other.RewardId2) return false;
      if (Qty2 != other.Qty2) return false;
      if (RewardId3 != other.RewardId3) return false;
      if (Qty3 != other.Qty3) return false;
      if (RewardIcon != other.RewardIcon) return false;
      if (RewardCount != other.RewardCount) return false;
      if (RewardDesc != other.RewardDesc) 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 (RewardGroupId != 0) hash ^= RewardGroupId.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (RewardId1 != 0) hash ^= RewardId1.GetHashCode();
      if (Qty1 != 0) hash ^= Qty1.GetHashCode();
      if (RewardId2 != 0) hash ^= RewardId2.GetHashCode();
      if (Qty2 != 0) hash ^= Qty2.GetHashCode();
      if (RewardId3 != 0) hash ^= RewardId3.GetHashCode();
      if (Qty3 != 0) hash ^= Qty3.GetHashCode();
      if (RewardIcon.Length != 0) hash ^= RewardIcon.GetHashCode();
      if (RewardCount != 0) hash ^= RewardCount.GetHashCode();
      if (RewardDesc.Length != 0) hash ^= RewardDesc.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 (RewardGroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RewardGroupId);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (RewardId1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RewardId1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Qty1);
      }
      if (RewardId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RewardId2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Qty2);
      }
      if (RewardId3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardId3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Qty3);
      }
      if (RewardIcon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(RewardIcon);
      }
      if (RewardCount != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardCount);
      }
      if (RewardDesc.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(RewardDesc);
      }
      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 (RewardGroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(RewardGroupId);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (RewardId1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RewardId1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Qty1);
      }
      if (RewardId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RewardId2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Qty2);
      }
      if (RewardId3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardId3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Qty3);
      }
      if (RewardIcon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(RewardIcon);
      }
      if (RewardCount != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardCount);
      }
      if (RewardDesc.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(RewardDesc);
      }
      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 (RewardGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardGroupId);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (RewardId1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardId1);
      }
      if (Qty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty1);
      }
      if (RewardId2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardId2);
      }
      if (Qty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty2);
      }
      if (RewardId3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardId3);
      }
      if (Qty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty3);
      }
      if (RewardIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardIcon);
      }
      if (RewardCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardCount);
      }
      if (RewardDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardDesc);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(LoginRewardGroup other) {
      if (other == null) {
        return;
      }
      if (other.RewardGroupId != 0) {
        RewardGroupId = other.RewardGroupId;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.RewardId1 != 0) {
        RewardId1 = other.RewardId1;
      }
      if (other.Qty1 != 0) {
        Qty1 = other.Qty1;
      }
      if (other.RewardId2 != 0) {
        RewardId2 = other.RewardId2;
      }
      if (other.Qty2 != 0) {
        Qty2 = other.Qty2;
      }
      if (other.RewardId3 != 0) {
        RewardId3 = other.RewardId3;
      }
      if (other.Qty3 != 0) {
        Qty3 = other.Qty3;
      }
      if (other.RewardIcon.Length != 0) {
        RewardIcon = other.RewardIcon;
      }
      if (other.RewardCount != 0) {
        RewardCount = other.RewardCount;
      }
      if (other.RewardDesc.Length != 0) {
        RewardDesc = other.RewardDesc;
      }
      _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: {
            RewardGroupId = input.ReadInt32();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
          case 24: {
            RewardId1 = input.ReadInt32();
            break;
          }
          case 32: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 40: {
            RewardId2 = input.ReadInt32();
            break;
          }
          case 48: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 56: {
            RewardId3 = input.ReadInt32();
            break;
          }
          case 64: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 74: {
            RewardIcon = input.ReadString();
            break;
          }
          case 80: {
            RewardCount = input.ReadInt32();
            break;
          }
          case 90: {
            RewardDesc = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            RewardGroupId = input.ReadInt32();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
          case 24: {
            RewardId1 = input.ReadInt32();
            break;
          }
          case 32: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 40: {
            RewardId2 = input.ReadInt32();
            break;
          }
          case 48: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 56: {
            RewardId3 = input.ReadInt32();
            break;
          }
          case 64: {
            Qty3 = input.ReadInt32();
            break;
          }
          case 74: {
            RewardIcon = input.ReadString();
            break;
          }
          case 80: {
            RewardCount = input.ReadInt32();
            break;
          }
          case 90: {
            RewardDesc = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_LoginRewardGroup : pb::IMessage<table_LoginRewardGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_LoginRewardGroup> _parser = new pb::MessageParser<table_LoginRewardGroup>(() => new table_LoginRewardGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_LoginRewardGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[251]; }
    }

    [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 table_LoginRewardGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_LoginRewardGroup(table_LoginRewardGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_LoginRewardGroup Clone() {
      return new table_LoginRewardGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.LoginRewardGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.LoginRewardGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.LoginRewardGroup> list_ = new pbc::RepeatedField<global::Nova.Client.LoginRewardGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.LoginRewardGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_LoginRewardGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_LoginRewardGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_LoginRewardGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MailTemplate : pb::IMessage<MailTemplate>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MailTemplate> _parser = new pb::MessageParser<MailTemplate>(() => new MailTemplate());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MailTemplate> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[252]; }
    }

    [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 MailTemplate() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MailTemplate(MailTemplate other) : this() {
      id_ = other.id_;
      explanation_ = other.explanation_;
      icon_ = other.icon_;
      author_ = other.author_;
      letterPaper_ = other.letterPaper_;
      subject_ = other.subject_;
      desc_ = other.desc_;
      type_ = other.type_;
      props1_ = other.props1_;
      propsCount1_ = other.propsCount1_;
      props2_ = other.props2_;
      propsCount2_ = other.propsCount2_;
      props3_ = other.props3_;
      propsCount3_ = other.propsCount3_;
      props4_ = other.props4_;
      propsCount4_ = other.propsCount4_;
      props5_ = other.props5_;
      propsCount5_ = other.propsCount5_;
      props6_ = other.props6_;
      propsCount6_ = other.propsCount6_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MailTemplate Clone() {
      return new MailTemplate(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Explanation" field.</summary>
    public const int ExplanationFieldNumber = 2;
    private string explanation_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Explanation {
      get { return explanation_; }
      set {
        explanation_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 3;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Author" field.</summary>
    public const int AuthorFieldNumber = 4;
    private string author_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Author {
      get { return author_; }
      set {
        author_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LetterPaper" field.</summary>
    public const int LetterPaperFieldNumber = 5;
    private string letterPaper_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LetterPaper {
      get { return letterPaper_; }
      set {
        letterPaper_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Subject" field.</summary>
    public const int SubjectFieldNumber = 6;
    private string subject_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Subject {
      get { return subject_; }
      set {
        subject_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 7;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 8;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Props1" field.</summary>
    public const int Props1FieldNumber = 9;
    private int props1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Props1 {
      get { return props1_; }
      set {
        props1_ = value;
      }
    }

    /// <summary>Field number for the "PropsCount1" field.</summary>
    public const int PropsCount1FieldNumber = 10;
    private int propsCount1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PropsCount1 {
      get { return propsCount1_; }
      set {
        propsCount1_ = value;
      }
    }

    /// <summary>Field number for the "Props2" field.</summary>
    public const int Props2FieldNumber = 11;
    private int props2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Props2 {
      get { return props2_; }
      set {
        props2_ = value;
      }
    }

    /// <summary>Field number for the "PropsCount2" field.</summary>
    public const int PropsCount2FieldNumber = 12;
    private int propsCount2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PropsCount2 {
      get { return propsCount2_; }
      set {
        propsCount2_ = value;
      }
    }

    /// <summary>Field number for the "Props3" field.</summary>
    public const int Props3FieldNumber = 13;
    private int props3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Props3 {
      get { return props3_; }
      set {
        props3_ = value;
      }
    }

    /// <summary>Field number for the "PropsCount3" field.</summary>
    public const int PropsCount3FieldNumber = 14;
    private int propsCount3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PropsCount3 {
      get { return propsCount3_; }
      set {
        propsCount3_ = value;
      }
    }

    /// <summary>Field number for the "Props4" field.</summary>
    public const int Props4FieldNumber = 15;
    private int props4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Props4 {
      get { return props4_; }
      set {
        props4_ = value;
      }
    }

    /// <summary>Field number for the "PropsCount4" field.</summary>
    public const int PropsCount4FieldNumber = 16;
    private int propsCount4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PropsCount4 {
      get { return propsCount4_; }
      set {
        propsCount4_ = value;
      }
    }

    /// <summary>Field number for the "Props5" field.</summary>
    public const int Props5FieldNumber = 17;
    private int props5_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Props5 {
      get { return props5_; }
      set {
        props5_ = value;
      }
    }

    /// <summary>Field number for the "PropsCount5" field.</summary>
    public const int PropsCount5FieldNumber = 18;
    private int propsCount5_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PropsCount5 {
      get { return propsCount5_; }
      set {
        propsCount5_ = value;
      }
    }

    /// <summary>Field number for the "Props6" field.</summary>
    public const int Props6FieldNumber = 19;
    private int props6_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Props6 {
      get { return props6_; }
      set {
        props6_ = value;
      }
    }

    /// <summary>Field number for the "PropsCount6" field.</summary>
    public const int PropsCount6FieldNumber = 20;
    private int propsCount6_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PropsCount6 {
      get { return propsCount6_; }
      set {
        propsCount6_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MailTemplate);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MailTemplate other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Explanation != other.Explanation) return false;
      if (Icon != other.Icon) return false;
      if (Author != other.Author) return false;
      if (LetterPaper != other.LetterPaper) return false;
      if (Subject != other.Subject) return false;
      if (Desc != other.Desc) return false;
      if (Type != other.Type) return false;
      if (Props1 != other.Props1) return false;
      if (PropsCount1 != other.PropsCount1) return false;
      if (Props2 != other.Props2) return false;
      if (PropsCount2 != other.PropsCount2) return false;
      if (Props3 != other.Props3) return false;
      if (PropsCount3 != other.PropsCount3) return false;
      if (Props4 != other.Props4) return false;
      if (PropsCount4 != other.PropsCount4) return false;
      if (Props5 != other.Props5) return false;
      if (PropsCount5 != other.PropsCount5) return false;
      if (Props6 != other.Props6) return false;
      if (PropsCount6 != other.PropsCount6) 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 (Explanation.Length != 0) hash ^= Explanation.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Author.Length != 0) hash ^= Author.GetHashCode();
      if (LetterPaper.Length != 0) hash ^= LetterPaper.GetHashCode();
      if (Subject.Length != 0) hash ^= Subject.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Props1 != 0) hash ^= Props1.GetHashCode();
      if (PropsCount1 != 0) hash ^= PropsCount1.GetHashCode();
      if (Props2 != 0) hash ^= Props2.GetHashCode();
      if (PropsCount2 != 0) hash ^= PropsCount2.GetHashCode();
      if (Props3 != 0) hash ^= Props3.GetHashCode();
      if (PropsCount3 != 0) hash ^= PropsCount3.GetHashCode();
      if (Props4 != 0) hash ^= Props4.GetHashCode();
      if (PropsCount4 != 0) hash ^= PropsCount4.GetHashCode();
      if (Props5 != 0) hash ^= Props5.GetHashCode();
      if (PropsCount5 != 0) hash ^= PropsCount5.GetHashCode();
      if (Props6 != 0) hash ^= Props6.GetHashCode();
      if (PropsCount6 != 0) hash ^= PropsCount6.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.WriteInt32(Id);
      }
      if (Explanation.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Explanation);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon);
      }
      if (Author.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Author);
      }
      if (LetterPaper.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(LetterPaper);
      }
      if (Subject.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Subject);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (Type != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Type);
      }
      if (Props1 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Props1);
      }
      if (PropsCount1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PropsCount1);
      }
      if (Props2 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Props2);
      }
      if (PropsCount2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(PropsCount2);
      }
      if (Props3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Props3);
      }
      if (PropsCount3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(PropsCount3);
      }
      if (Props4 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Props4);
      }
      if (PropsCount4 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(PropsCount4);
      }
      if (Props5 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(Props5);
      }
      if (PropsCount5 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PropsCount5);
      }
      if (Props6 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Props6);
      }
      if (PropsCount6 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(PropsCount6);
      }
      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.WriteInt32(Id);
      }
      if (Explanation.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Explanation);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon);
      }
      if (Author.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Author);
      }
      if (LetterPaper.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(LetterPaper);
      }
      if (Subject.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Subject);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (Type != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Type);
      }
      if (Props1 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Props1);
      }
      if (PropsCount1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PropsCount1);
      }
      if (Props2 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Props2);
      }
      if (PropsCount2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(PropsCount2);
      }
      if (Props3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Props3);
      }
      if (PropsCount3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(PropsCount3);
      }
      if (Props4 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Props4);
      }
      if (PropsCount4 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(PropsCount4);
      }
      if (Props5 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(Props5);
      }
      if (PropsCount5 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PropsCount5);
      }
      if (Props6 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(Props6);
      }
      if (PropsCount6 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(PropsCount6);
      }
      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.ComputeInt32Size(Id);
      }
      if (Explanation.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Explanation);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Author.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Author);
      }
      if (LetterPaper.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LetterPaper);
      }
      if (Subject.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Subject);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Props1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Props1);
      }
      if (PropsCount1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PropsCount1);
      }
      if (Props2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Props2);
      }
      if (PropsCount2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PropsCount2);
      }
      if (Props3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Props3);
      }
      if (PropsCount3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PropsCount3);
      }
      if (Props4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Props4);
      }
      if (PropsCount4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PropsCount4);
      }
      if (Props5 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Props5);
      }
      if (PropsCount5 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PropsCount5);
      }
      if (Props6 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Props6);
      }
      if (PropsCount6 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PropsCount6);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MailTemplate other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Explanation.Length != 0) {
        Explanation = other.Explanation;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Author.Length != 0) {
        Author = other.Author;
      }
      if (other.LetterPaper.Length != 0) {
        LetterPaper = other.LetterPaper;
      }
      if (other.Subject.Length != 0) {
        Subject = other.Subject;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Props1 != 0) {
        Props1 = other.Props1;
      }
      if (other.PropsCount1 != 0) {
        PropsCount1 = other.PropsCount1;
      }
      if (other.Props2 != 0) {
        Props2 = other.Props2;
      }
      if (other.PropsCount2 != 0) {
        PropsCount2 = other.PropsCount2;
      }
      if (other.Props3 != 0) {
        Props3 = other.Props3;
      }
      if (other.PropsCount3 != 0) {
        PropsCount3 = other.PropsCount3;
      }
      if (other.Props4 != 0) {
        Props4 = other.Props4;
      }
      if (other.PropsCount4 != 0) {
        PropsCount4 = other.PropsCount4;
      }
      if (other.Props5 != 0) {
        Props5 = other.Props5;
      }
      if (other.PropsCount5 != 0) {
        PropsCount5 = other.PropsCount5;
      }
      if (other.Props6 != 0) {
        Props6 = other.Props6;
      }
      if (other.PropsCount6 != 0) {
        PropsCount6 = other.PropsCount6;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Explanation = input.ReadString();
            break;
          }
          case 26: {
            Icon = input.ReadString();
            break;
          }
          case 34: {
            Author = input.ReadString();
            break;
          }
          case 42: {
            LetterPaper = input.ReadString();
            break;
          }
          case 50: {
            Subject = input.ReadString();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 64: {
            Type = input.ReadInt32();
            break;
          }
          case 72: {
            Props1 = input.ReadInt32();
            break;
          }
          case 80: {
            PropsCount1 = input.ReadInt32();
            break;
          }
          case 88: {
            Props2 = input.ReadInt32();
            break;
          }
          case 96: {
            PropsCount2 = input.ReadInt32();
            break;
          }
          case 104: {
            Props3 = input.ReadInt32();
            break;
          }
          case 112: {
            PropsCount3 = input.ReadInt32();
            break;
          }
          case 120: {
            Props4 = input.ReadInt32();
            break;
          }
          case 128: {
            PropsCount4 = input.ReadInt32();
            break;
          }
          case 136: {
            Props5 = input.ReadInt32();
            break;
          }
          case 144: {
            PropsCount5 = input.ReadInt32();
            break;
          }
          case 152: {
            Props6 = input.ReadInt32();
            break;
          }
          case 160: {
            PropsCount6 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Explanation = input.ReadString();
            break;
          }
          case 26: {
            Icon = input.ReadString();
            break;
          }
          case 34: {
            Author = input.ReadString();
            break;
          }
          case 42: {
            LetterPaper = input.ReadString();
            break;
          }
          case 50: {
            Subject = input.ReadString();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 64: {
            Type = input.ReadInt32();
            break;
          }
          case 72: {
            Props1 = input.ReadInt32();
            break;
          }
          case 80: {
            PropsCount1 = input.ReadInt32();
            break;
          }
          case 88: {
            Props2 = input.ReadInt32();
            break;
          }
          case 96: {
            PropsCount2 = input.ReadInt32();
            break;
          }
          case 104: {
            Props3 = input.ReadInt32();
            break;
          }
          case 112: {
            PropsCount3 = input.ReadInt32();
            break;
          }
          case 120: {
            Props4 = input.ReadInt32();
            break;
          }
          case 128: {
            PropsCount4 = input.ReadInt32();
            break;
          }
          case 136: {
            Props5 = input.ReadInt32();
            break;
          }
          case 144: {
            PropsCount5 = input.ReadInt32();
            break;
          }
          case 152: {
            Props6 = input.ReadInt32();
            break;
          }
          case 160: {
            PropsCount6 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MailTemplate : pb::IMessage<table_MailTemplate>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MailTemplate> _parser = new pb::MessageParser<table_MailTemplate>(() => new table_MailTemplate());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MailTemplate> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[253]; }
    }

    [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 table_MailTemplate() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MailTemplate(table_MailTemplate other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MailTemplate Clone() {
      return new table_MailTemplate(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MailTemplate> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MailTemplate.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MailTemplate> list_ = new pbc::RepeatedField<global::Nova.Client.MailTemplate>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MailTemplate> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MailTemplate);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MailTemplate other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MailTemplate other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Mainline : pb::IMessage<Mainline>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Mainline> _parser = new pb::MessageParser<Mainline>(() => new Mainline());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Mainline> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[254]; }
    }

    [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 Mainline() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Mainline(Mainline other) : this() {
      id_ = other.id_;
      num_ = other.num_;
      name_ = other.name_;
      desc_ = other.desc_;
      type_ = other.type_;
      energy_ = other.energy_;
      chapterId_ = other.chapterId_;
      prev_ = other.prev_.Clone();
      form_ = other.form_.Clone();
      avgId_ = other.avgId_;
      trialCharacter_ = other.trialCharacter_.Clone();
      beforeAvgId_ = other.beforeAvgId_;
      afterAvgId_ = other.afterAvgId_;
      energyConsume_ = other.energyConsume_;
      unlockItem_ = other.unlockItem_;
      unlockQty_ = other.unlockQty_;
      globReward_ = other.globReward_;
      rewardPreview_ = other.rewardPreview_;
      itemReward_ = other.itemReward_;
      firstItemReward_ = other.firstItemReward_;
      diamondReward_ = other.diamondReward_;
      minChestReward_ = other.minChestReward_;
      maxChestReward_ = other.maxChestReward_;
      charBanned_ = other.charBanned_.Clone();
      floorId_ = other.floorId_.Clone();
      icon_ = other.icon_;
      posId_ = other.posId_;
      previewMonsterGroupId_ = other.previewMonsterGroupId_;
      recommend_ = other.recommend_;
      repeat_ = other.repeat_;
      subMapName_ = other.subMapName_;
      mainlineImg_ = other.mainlineImg_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Mainline Clone() {
      return new Mainline(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Num" field.</summary>
    public const int NumFieldNumber = 2;
    private string num_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Num {
      get { return num_; }
      set {
        num_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 5;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Energy" field.</summary>
    public const int EnergyFieldNumber = 6;
    private int energy_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Energy {
      get { return energy_; }
      set {
        energy_ = value;
      }
    }

    /// <summary>Field number for the "ChapterId" field.</summary>
    public const int ChapterIdFieldNumber = 7;
    private int chapterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ChapterId {
      get { return chapterId_; }
      set {
        chapterId_ = value;
      }
    }

    /// <summary>Field number for the "Prev" field.</summary>
    public const int PrevFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_prev_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> prev_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Prev {
      get { return prev_; }
    }

    /// <summary>Field number for the "Form" field.</summary>
    public const int FormFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_form_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> form_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Form {
      get { return form_; }
    }

    /// <summary>Field number for the "AvgId" field.</summary>
    public const int AvgIdFieldNumber = 10;
    private string avgId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AvgId {
      get { return avgId_; }
      set {
        avgId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TrialCharacter" field.</summary>
    public const int TrialCharacterFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_trialCharacter_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> trialCharacter_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TrialCharacter {
      get { return trialCharacter_; }
    }

    /// <summary>Field number for the "BeforeAvgId" field.</summary>
    public const int BeforeAvgIdFieldNumber = 12;
    private string beforeAvgId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BeforeAvgId {
      get { return beforeAvgId_; }
      set {
        beforeAvgId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AfterAvgId" field.</summary>
    public const int AfterAvgIdFieldNumber = 13;
    private string afterAvgId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AfterAvgId {
      get { return afterAvgId_; }
      set {
        afterAvgId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EnergyConsume" field.</summary>
    public const int EnergyConsumeFieldNumber = 14;
    private int energyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnergyConsume {
      get { return energyConsume_; }
      set {
        energyConsume_ = value;
      }
    }

    /// <summary>Field number for the "UnlockItem" field.</summary>
    public const int UnlockItemFieldNumber = 15;
    private int unlockItem_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockItem {
      get { return unlockItem_; }
      set {
        unlockItem_ = value;
      }
    }

    /// <summary>Field number for the "UnlockQty" field.</summary>
    public const int UnlockQtyFieldNumber = 16;
    private int unlockQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockQty {
      get { return unlockQty_; }
      set {
        unlockQty_ = value;
      }
    }

    /// <summary>Field number for the "GlobReward" field.</summary>
    public const int GlobRewardFieldNumber = 17;
    private int globReward_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GlobReward {
      get { return globReward_; }
      set {
        globReward_ = value;
      }
    }

    /// <summary>Field number for the "RewardPreview" field.</summary>
    public const int RewardPreviewFieldNumber = 18;
    private string rewardPreview_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardPreview {
      get { return rewardPreview_; }
      set {
        rewardPreview_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ItemReward" field.</summary>
    public const int ItemRewardFieldNumber = 19;
    private int itemReward_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemReward {
      get { return itemReward_; }
      set {
        itemReward_ = value;
      }
    }

    /// <summary>Field number for the "FirstItemReward" field.</summary>
    public const int FirstItemRewardFieldNumber = 20;
    private int firstItemReward_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FirstItemReward {
      get { return firstItemReward_; }
      set {
        firstItemReward_ = value;
      }
    }

    /// <summary>Field number for the "DiamondReward" field.</summary>
    public const int DiamondRewardFieldNumber = 21;
    private int diamondReward_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DiamondReward {
      get { return diamondReward_; }
      set {
        diamondReward_ = value;
      }
    }

    /// <summary>Field number for the "MinChestReward" field.</summary>
    public const int MinChestRewardFieldNumber = 22;
    private string minChestReward_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MinChestReward {
      get { return minChestReward_; }
      set {
        minChestReward_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MaxChestReward" field.</summary>
    public const int MaxChestRewardFieldNumber = 23;
    private string maxChestReward_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MaxChestReward {
      get { return maxChestReward_; }
      set {
        maxChestReward_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CharBanned" field.</summary>
    public const int CharBannedFieldNumber = 24;
    private static readonly pb::FieldCodec<int> _repeated_charBanned_codec
        = pb::FieldCodec.ForInt32(194);
    private readonly pbc::RepeatedField<int> charBanned_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CharBanned {
      get { return charBanned_; }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 25;
    private static readonly pb::FieldCodec<int> _repeated_floorId_codec
        = pb::FieldCodec.ForInt32(202);
    private readonly pbc::RepeatedField<int> floorId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FloorId {
      get { return floorId_; }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 26;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PosId" field.</summary>
    public const int PosIdFieldNumber = 27;
    private int posId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PosId {
      get { return posId_; }
      set {
        posId_ = value;
      }
    }

    /// <summary>Field number for the "PreviewMonsterGroupId" field.</summary>
    public const int PreviewMonsterGroupIdFieldNumber = 28;
    private int previewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterGroupId {
      get { return previewMonsterGroupId_; }
      set {
        previewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "Recommend" field.</summary>
    public const int RecommendFieldNumber = 29;
    private int recommend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Recommend {
      get { return recommend_; }
      set {
        recommend_ = value;
      }
    }

    /// <summary>Field number for the "Repeat" field.</summary>
    public const int RepeatFieldNumber = 30;
    private bool repeat_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Repeat {
      get { return repeat_; }
      set {
        repeat_ = value;
      }
    }

    /// <summary>Field number for the "SubMapName" field.</summary>
    public const int SubMapNameFieldNumber = 31;
    private int subMapName_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SubMapName {
      get { return subMapName_; }
      set {
        subMapName_ = value;
      }
    }

    /// <summary>Field number for the "MainlineImg" field.</summary>
    public const int MainlineImgFieldNumber = 32;
    private string mainlineImg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MainlineImg {
      get { return mainlineImg_; }
      set {
        mainlineImg_ = 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 Mainline);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Mainline other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Num != other.Num) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Type != other.Type) return false;
      if (Energy != other.Energy) return false;
      if (ChapterId != other.ChapterId) return false;
      if(!prev_.Equals(other.prev_)) return false;
      if(!form_.Equals(other.form_)) return false;
      if (AvgId != other.AvgId) return false;
      if(!trialCharacter_.Equals(other.trialCharacter_)) return false;
      if (BeforeAvgId != other.BeforeAvgId) return false;
      if (AfterAvgId != other.AfterAvgId) return false;
      if (EnergyConsume != other.EnergyConsume) return false;
      if (UnlockItem != other.UnlockItem) return false;
      if (UnlockQty != other.UnlockQty) return false;
      if (GlobReward != other.GlobReward) return false;
      if (RewardPreview != other.RewardPreview) return false;
      if (ItemReward != other.ItemReward) return false;
      if (FirstItemReward != other.FirstItemReward) return false;
      if (DiamondReward != other.DiamondReward) return false;
      if (MinChestReward != other.MinChestReward) return false;
      if (MaxChestReward != other.MaxChestReward) return false;
      if(!charBanned_.Equals(other.charBanned_)) return false;
      if(!floorId_.Equals(other.floorId_)) return false;
      if (Icon != other.Icon) return false;
      if (PosId != other.PosId) return false;
      if (PreviewMonsterGroupId != other.PreviewMonsterGroupId) return false;
      if (Recommend != other.Recommend) return false;
      if (Repeat != other.Repeat) return false;
      if (SubMapName != other.SubMapName) return false;
      if (MainlineImg != other.MainlineImg) 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 (Num.Length != 0) hash ^= Num.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Energy != 0) hash ^= Energy.GetHashCode();
      if (ChapterId != 0) hash ^= ChapterId.GetHashCode();
      hash ^= prev_.GetHashCode();
      hash ^= form_.GetHashCode();
      if (AvgId.Length != 0) hash ^= AvgId.GetHashCode();
      hash ^= trialCharacter_.GetHashCode();
      if (BeforeAvgId.Length != 0) hash ^= BeforeAvgId.GetHashCode();
      if (AfterAvgId.Length != 0) hash ^= AfterAvgId.GetHashCode();
      if (EnergyConsume != 0) hash ^= EnergyConsume.GetHashCode();
      if (UnlockItem != 0) hash ^= UnlockItem.GetHashCode();
      if (UnlockQty != 0) hash ^= UnlockQty.GetHashCode();
      if (GlobReward != 0) hash ^= GlobReward.GetHashCode();
      if (RewardPreview.Length != 0) hash ^= RewardPreview.GetHashCode();
      if (ItemReward != 0) hash ^= ItemReward.GetHashCode();
      if (FirstItemReward != 0) hash ^= FirstItemReward.GetHashCode();
      if (DiamondReward != 0) hash ^= DiamondReward.GetHashCode();
      if (MinChestReward.Length != 0) hash ^= MinChestReward.GetHashCode();
      if (MaxChestReward.Length != 0) hash ^= MaxChestReward.GetHashCode();
      hash ^= charBanned_.GetHashCode();
      hash ^= floorId_.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (PosId != 0) hash ^= PosId.GetHashCode();
      if (PreviewMonsterGroupId != 0) hash ^= PreviewMonsterGroupId.GetHashCode();
      if (Recommend != 0) hash ^= Recommend.GetHashCode();
      if (Repeat != false) hash ^= Repeat.GetHashCode();
      if (SubMapName != 0) hash ^= SubMapName.GetHashCode();
      if (MainlineImg.Length != 0) hash ^= MainlineImg.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.WriteInt32(Id);
      }
      if (Num.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Num);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Type != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Type);
      }
      if (Energy != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Energy);
      }
      if (ChapterId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ChapterId);
      }
      prev_.WriteTo(output, _repeated_prev_codec);
      form_.WriteTo(output, _repeated_form_codec);
      if (AvgId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(AvgId);
      }
      trialCharacter_.WriteTo(output, _repeated_trialCharacter_codec);
      if (BeforeAvgId.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(BeforeAvgId);
      }
      if (AfterAvgId.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(AfterAvgId);
      }
      if (EnergyConsume != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(EnergyConsume);
      }
      if (UnlockItem != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(UnlockItem);
      }
      if (UnlockQty != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(UnlockQty);
      }
      if (GlobReward != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(GlobReward);
      }
      if (RewardPreview.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(RewardPreview);
      }
      if (ItemReward != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ItemReward);
      }
      if (FirstItemReward != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(FirstItemReward);
      }
      if (DiamondReward != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(DiamondReward);
      }
      if (MinChestReward.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(MinChestReward);
      }
      if (MaxChestReward.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(MaxChestReward);
      }
      charBanned_.WriteTo(output, _repeated_charBanned_codec);
      floorId_.WriteTo(output, _repeated_floorId_codec);
      if (Icon.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Icon);
      }
      if (PosId != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(PosId);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Recommend != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(Recommend);
      }
      if (Repeat != false) {
        output.WriteRawTag(240, 1);
        output.WriteBool(Repeat);
      }
      if (SubMapName != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(SubMapName);
      }
      if (MainlineImg.Length != 0) {
        output.WriteRawTag(130, 2);
        output.WriteString(MainlineImg);
      }
      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.WriteInt32(Id);
      }
      if (Num.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Num);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Type != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Type);
      }
      if (Energy != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Energy);
      }
      if (ChapterId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ChapterId);
      }
      prev_.WriteTo(ref output, _repeated_prev_codec);
      form_.WriteTo(ref output, _repeated_form_codec);
      if (AvgId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(AvgId);
      }
      trialCharacter_.WriteTo(ref output, _repeated_trialCharacter_codec);
      if (BeforeAvgId.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(BeforeAvgId);
      }
      if (AfterAvgId.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(AfterAvgId);
      }
      if (EnergyConsume != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(EnergyConsume);
      }
      if (UnlockItem != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(UnlockItem);
      }
      if (UnlockQty != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(UnlockQty);
      }
      if (GlobReward != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(GlobReward);
      }
      if (RewardPreview.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(RewardPreview);
      }
      if (ItemReward != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ItemReward);
      }
      if (FirstItemReward != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(FirstItemReward);
      }
      if (DiamondReward != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(DiamondReward);
      }
      if (MinChestReward.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(MinChestReward);
      }
      if (MaxChestReward.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(MaxChestReward);
      }
      charBanned_.WriteTo(ref output, _repeated_charBanned_codec);
      floorId_.WriteTo(ref output, _repeated_floorId_codec);
      if (Icon.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Icon);
      }
      if (PosId != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(PosId);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Recommend != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(Recommend);
      }
      if (Repeat != false) {
        output.WriteRawTag(240, 1);
        output.WriteBool(Repeat);
      }
      if (SubMapName != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(SubMapName);
      }
      if (MainlineImg.Length != 0) {
        output.WriteRawTag(130, 2);
        output.WriteString(MainlineImg);
      }
      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.ComputeInt32Size(Id);
      }
      if (Num.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Num);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Energy != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Energy);
      }
      if (ChapterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChapterId);
      }
      size += prev_.CalculateSize(_repeated_prev_codec);
      size += form_.CalculateSize(_repeated_form_codec);
      if (AvgId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AvgId);
      }
      size += trialCharacter_.CalculateSize(_repeated_trialCharacter_codec);
      if (BeforeAvgId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BeforeAvgId);
      }
      if (AfterAvgId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AfterAvgId);
      }
      if (EnergyConsume != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnergyConsume);
      }
      if (UnlockItem != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockItem);
      }
      if (UnlockQty != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(UnlockQty);
      }
      if (GlobReward != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(GlobReward);
      }
      if (RewardPreview.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RewardPreview);
      }
      if (ItemReward != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ItemReward);
      }
      if (FirstItemReward != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FirstItemReward);
      }
      if (DiamondReward != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DiamondReward);
      }
      if (MinChestReward.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(MinChestReward);
      }
      if (MaxChestReward.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(MaxChestReward);
      }
      size += charBanned_.CalculateSize(_repeated_charBanned_codec);
      size += floorId_.CalculateSize(_repeated_floorId_codec);
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (PosId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PosId);
      }
      if (PreviewMonsterGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterGroupId);
      }
      if (Recommend != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Recommend);
      }
      if (Repeat != false) {
        size += 2 + 1;
      }
      if (SubMapName != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SubMapName);
      }
      if (MainlineImg.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(MainlineImg);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Mainline other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Num.Length != 0) {
        Num = other.Num;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Energy != 0) {
        Energy = other.Energy;
      }
      if (other.ChapterId != 0) {
        ChapterId = other.ChapterId;
      }
      prev_.Add(other.prev_);
      form_.Add(other.form_);
      if (other.AvgId.Length != 0) {
        AvgId = other.AvgId;
      }
      trialCharacter_.Add(other.trialCharacter_);
      if (other.BeforeAvgId.Length != 0) {
        BeforeAvgId = other.BeforeAvgId;
      }
      if (other.AfterAvgId.Length != 0) {
        AfterAvgId = other.AfterAvgId;
      }
      if (other.EnergyConsume != 0) {
        EnergyConsume = other.EnergyConsume;
      }
      if (other.UnlockItem != 0) {
        UnlockItem = other.UnlockItem;
      }
      if (other.UnlockQty != 0) {
        UnlockQty = other.UnlockQty;
      }
      if (other.GlobReward != 0) {
        GlobReward = other.GlobReward;
      }
      if (other.RewardPreview.Length != 0) {
        RewardPreview = other.RewardPreview;
      }
      if (other.ItemReward != 0) {
        ItemReward = other.ItemReward;
      }
      if (other.FirstItemReward != 0) {
        FirstItemReward = other.FirstItemReward;
      }
      if (other.DiamondReward != 0) {
        DiamondReward = other.DiamondReward;
      }
      if (other.MinChestReward.Length != 0) {
        MinChestReward = other.MinChestReward;
      }
      if (other.MaxChestReward.Length != 0) {
        MaxChestReward = other.MaxChestReward;
      }
      charBanned_.Add(other.charBanned_);
      floorId_.Add(other.floorId_);
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.PosId != 0) {
        PosId = other.PosId;
      }
      if (other.PreviewMonsterGroupId != 0) {
        PreviewMonsterGroupId = other.PreviewMonsterGroupId;
      }
      if (other.Recommend != 0) {
        Recommend = other.Recommend;
      }
      if (other.Repeat != false) {
        Repeat = other.Repeat;
      }
      if (other.SubMapName != 0) {
        SubMapName = other.SubMapName;
      }
      if (other.MainlineImg.Length != 0) {
        MainlineImg = other.MainlineImg;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Num = input.ReadString();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Type = input.ReadInt32();
            break;
          }
          case 48: {
            Energy = input.ReadInt32();
            break;
          }
          case 56: {
            ChapterId = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            prev_.AddEntriesFrom(input, _repeated_prev_codec);
            break;
          }
          case 74:
          case 72: {
            form_.AddEntriesFrom(input, _repeated_form_codec);
            break;
          }
          case 82: {
            AvgId = input.ReadString();
            break;
          }
          case 90:
          case 88: {
            trialCharacter_.AddEntriesFrom(input, _repeated_trialCharacter_codec);
            break;
          }
          case 98: {
            BeforeAvgId = input.ReadString();
            break;
          }
          case 106: {
            AfterAvgId = input.ReadString();
            break;
          }
          case 112: {
            EnergyConsume = input.ReadInt32();
            break;
          }
          case 120: {
            UnlockItem = input.ReadInt32();
            break;
          }
          case 128: {
            UnlockQty = input.ReadInt32();
            break;
          }
          case 136: {
            GlobReward = input.ReadInt32();
            break;
          }
          case 146: {
            RewardPreview = input.ReadString();
            break;
          }
          case 152: {
            ItemReward = input.ReadInt32();
            break;
          }
          case 160: {
            FirstItemReward = input.ReadInt32();
            break;
          }
          case 168: {
            DiamondReward = input.ReadInt32();
            break;
          }
          case 178: {
            MinChestReward = input.ReadString();
            break;
          }
          case 186: {
            MaxChestReward = input.ReadString();
            break;
          }
          case 194:
          case 192: {
            charBanned_.AddEntriesFrom(input, _repeated_charBanned_codec);
            break;
          }
          case 202:
          case 200: {
            floorId_.AddEntriesFrom(input, _repeated_floorId_codec);
            break;
          }
          case 210: {
            Icon = input.ReadString();
            break;
          }
          case 216: {
            PosId = input.ReadInt32();
            break;
          }
          case 224: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 232: {
            Recommend = input.ReadInt32();
            break;
          }
          case 240: {
            Repeat = input.ReadBool();
            break;
          }
          case 248: {
            SubMapName = input.ReadInt32();
            break;
          }
          case 258: {
            MainlineImg = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Num = input.ReadString();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Type = input.ReadInt32();
            break;
          }
          case 48: {
            Energy = input.ReadInt32();
            break;
          }
          case 56: {
            ChapterId = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            prev_.AddEntriesFrom(ref input, _repeated_prev_codec);
            break;
          }
          case 74:
          case 72: {
            form_.AddEntriesFrom(ref input, _repeated_form_codec);
            break;
          }
          case 82: {
            AvgId = input.ReadString();
            break;
          }
          case 90:
          case 88: {
            trialCharacter_.AddEntriesFrom(ref input, _repeated_trialCharacter_codec);
            break;
          }
          case 98: {
            BeforeAvgId = input.ReadString();
            break;
          }
          case 106: {
            AfterAvgId = input.ReadString();
            break;
          }
          case 112: {
            EnergyConsume = input.ReadInt32();
            break;
          }
          case 120: {
            UnlockItem = input.ReadInt32();
            break;
          }
          case 128: {
            UnlockQty = input.ReadInt32();
            break;
          }
          case 136: {
            GlobReward = input.ReadInt32();
            break;
          }
          case 146: {
            RewardPreview = input.ReadString();
            break;
          }
          case 152: {
            ItemReward = input.ReadInt32();
            break;
          }
          case 160: {
            FirstItemReward = input.ReadInt32();
            break;
          }
          case 168: {
            DiamondReward = input.ReadInt32();
            break;
          }
          case 178: {
            MinChestReward = input.ReadString();
            break;
          }
          case 186: {
            MaxChestReward = input.ReadString();
            break;
          }
          case 194:
          case 192: {
            charBanned_.AddEntriesFrom(ref input, _repeated_charBanned_codec);
            break;
          }
          case 202:
          case 200: {
            floorId_.AddEntriesFrom(ref input, _repeated_floorId_codec);
            break;
          }
          case 210: {
            Icon = input.ReadString();
            break;
          }
          case 216: {
            PosId = input.ReadInt32();
            break;
          }
          case 224: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 232: {
            Recommend = input.ReadInt32();
            break;
          }
          case 240: {
            Repeat = input.ReadBool();
            break;
          }
          case 248: {
            SubMapName = input.ReadInt32();
            break;
          }
          case 258: {
            MainlineImg = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Mainline : pb::IMessage<table_Mainline>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Mainline> _parser = new pb::MessageParser<table_Mainline>(() => new table_Mainline());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Mainline> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[255]; }
    }

    [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 table_Mainline() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Mainline(table_Mainline other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Mainline Clone() {
      return new table_Mainline(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Mainline> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Mainline.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Mainline> list_ = new pbc::RepeatedField<global::Nova.Client.Mainline>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Mainline> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Mainline);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Mainline other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Mainline other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MainlineFloor : pb::IMessage<MainlineFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MainlineFloor> _parser = new pb::MessageParser<MainlineFloor>(() => new MainlineFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MainlineFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[256]; }
    }

    [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 MainlineFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MainlineFloor(MainlineFloor other) : this() {
      id_ = other.id_;
      sceneName_ = other.sceneName_;
      configPrefabName_ = other.configPrefabName_;
      theme_ = other.theme_;
      bGM_ = other.bGM_;
      leaveTriggerEvent_ = other.leaveTriggerEvent_;
      monsterLv_ = other.monsterLv_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MainlineFloor Clone() {
      return new MainlineFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 2;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfigPrefabName" field.</summary>
    public const int ConfigPrefabNameFieldNumber = 3;
    private string configPrefabName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigPrefabName {
      get { return configPrefabName_; }
      set {
        configPrefabName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 5;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LeaveTriggerEvent" field.</summary>
    public const int LeaveTriggerEventFieldNumber = 6;
    private string leaveTriggerEvent_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LeaveTriggerEvent {
      get { return leaveTriggerEvent_; }
      set {
        leaveTriggerEvent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MonsterLv" field.</summary>
    public const int MonsterLvFieldNumber = 7;
    private int monsterLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLv {
      get { return monsterLv_; }
      set {
        monsterLv_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MainlineFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MainlineFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneName != other.SceneName) return false;
      if (ConfigPrefabName != other.ConfigPrefabName) return false;
      if (Theme != other.Theme) return false;
      if (BGM != other.BGM) return false;
      if (LeaveTriggerEvent != other.LeaveTriggerEvent) return false;
      if (MonsterLv != other.MonsterLv) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (ConfigPrefabName.Length != 0) hash ^= ConfigPrefabName.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.GetHashCode();
      if (LeaveTriggerEvent.Length != 0) hash ^= LeaveTriggerEvent.GetHashCode();
      if (MonsterLv != 0) hash ^= MonsterLv.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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigPrefabName);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLv);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MainlineFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.ConfigPrefabName.Length != 0) {
        ConfigPrefabName = other.ConfigPrefabName;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      if (other.LeaveTriggerEvent.Length != 0) {
        LeaveTriggerEvent = other.LeaveTriggerEvent;
      }
      if (other.MonsterLv != 0) {
        MonsterLv = other.MonsterLv;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MainlineFloor : pb::IMessage<table_MainlineFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MainlineFloor> _parser = new pb::MessageParser<table_MainlineFloor>(() => new table_MainlineFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MainlineFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[257]; }
    }

    [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 table_MainlineFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MainlineFloor(table_MainlineFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MainlineFloor Clone() {
      return new table_MainlineFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MainlineFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MainlineFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MainlineFloor> list_ = new pbc::RepeatedField<global::Nova.Client.MainlineFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MainlineFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MainlineFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MainlineFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MainlineFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MallGem : pb::IMessage<MallGem>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MallGem> _parser = new pb::MessageParser<MallGem>(() => new MallGem());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MallGem> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[258]; }
    }

    [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 MallGem() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallGem(MallGem other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      order_ = other.order_;
      baseItemId_ = other.baseItemId_;
      baseItemQty_ = other.baseItemQty_;
      experiencedBonusItemId_ = other.experiencedBonusItemId_;
      experiencedBonusItemQty_ = other.experiencedBonusItemQty_;
      maidenBonusItemID_ = other.maidenBonusItemID_;
      maidenBonusItemQty_ = other.maidenBonusItemQty_;
      price_ = other.price_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallGem Clone() {
      return new MallGem(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 3;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "BaseItemId" field.</summary>
    public const int BaseItemIdFieldNumber = 4;
    private int baseItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BaseItemId {
      get { return baseItemId_; }
      set {
        baseItemId_ = value;
      }
    }

    /// <summary>Field number for the "BaseItemQty" field.</summary>
    public const int BaseItemQtyFieldNumber = 5;
    private int baseItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BaseItemQty {
      get { return baseItemQty_; }
      set {
        baseItemQty_ = value;
      }
    }

    /// <summary>Field number for the "ExperiencedBonusItemId" field.</summary>
    public const int ExperiencedBonusItemIdFieldNumber = 6;
    private int experiencedBonusItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExperiencedBonusItemId {
      get { return experiencedBonusItemId_; }
      set {
        experiencedBonusItemId_ = value;
      }
    }

    /// <summary>Field number for the "ExperiencedBonusItemQty" field.</summary>
    public const int ExperiencedBonusItemQtyFieldNumber = 7;
    private int experiencedBonusItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExperiencedBonusItemQty {
      get { return experiencedBonusItemQty_; }
      set {
        experiencedBonusItemQty_ = value;
      }
    }

    /// <summary>Field number for the "MaidenBonusItemID" field.</summary>
    public const int MaidenBonusItemIDFieldNumber = 8;
    private int maidenBonusItemID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaidenBonusItemID {
      get { return maidenBonusItemID_; }
      set {
        maidenBonusItemID_ = value;
      }
    }

    /// <summary>Field number for the "MaidenBonusItemQty" field.</summary>
    public const int MaidenBonusItemQtyFieldNumber = 9;
    private int maidenBonusItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaidenBonusItemQty {
      get { return maidenBonusItemQty_; }
      set {
        maidenBonusItemQty_ = value;
      }
    }

    /// <summary>Field number for the "Price" field.</summary>
    public const int PriceFieldNumber = 10;
    private int price_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Price {
      get { return price_; }
      set {
        price_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 11;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 MallGem);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MallGem other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Order != other.Order) return false;
      if (BaseItemId != other.BaseItemId) return false;
      if (BaseItemQty != other.BaseItemQty) return false;
      if (ExperiencedBonusItemId != other.ExperiencedBonusItemId) return false;
      if (ExperiencedBonusItemQty != other.ExperiencedBonusItemQty) return false;
      if (MaidenBonusItemID != other.MaidenBonusItemID) return false;
      if (MaidenBonusItemQty != other.MaidenBonusItemQty) return false;
      if (Price != other.Price) return false;
      if (Icon != other.Icon) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (BaseItemId != 0) hash ^= BaseItemId.GetHashCode();
      if (BaseItemQty != 0) hash ^= BaseItemQty.GetHashCode();
      if (ExperiencedBonusItemId != 0) hash ^= ExperiencedBonusItemId.GetHashCode();
      if (ExperiencedBonusItemQty != 0) hash ^= ExperiencedBonusItemQty.GetHashCode();
      if (MaidenBonusItemID != 0) hash ^= MaidenBonusItemID.GetHashCode();
      if (MaidenBonusItemQty != 0) hash ^= MaidenBonusItemQty.GetHashCode();
      if (Price != 0) hash ^= Price.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Order != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Order);
      }
      if (BaseItemId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BaseItemId);
      }
      if (BaseItemQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(BaseItemQty);
      }
      if (ExperiencedBonusItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ExperiencedBonusItemId);
      }
      if (ExperiencedBonusItemQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ExperiencedBonusItemQty);
      }
      if (MaidenBonusItemID != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaidenBonusItemID);
      }
      if (MaidenBonusItemQty != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(MaidenBonusItemQty);
      }
      if (Price != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Price);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Icon);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Order != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Order);
      }
      if (BaseItemId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BaseItemId);
      }
      if (BaseItemQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(BaseItemQty);
      }
      if (ExperiencedBonusItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ExperiencedBonusItemId);
      }
      if (ExperiencedBonusItemQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ExperiencedBonusItemQty);
      }
      if (MaidenBonusItemID != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaidenBonusItemID);
      }
      if (MaidenBonusItemQty != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(MaidenBonusItemQty);
      }
      if (Price != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Price);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Icon);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (BaseItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BaseItemId);
      }
      if (BaseItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BaseItemQty);
      }
      if (ExperiencedBonusItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExperiencedBonusItemId);
      }
      if (ExperiencedBonusItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExperiencedBonusItemQty);
      }
      if (MaidenBonusItemID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaidenBonusItemID);
      }
      if (MaidenBonusItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaidenBonusItemQty);
      }
      if (Price != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Price);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MallGem other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.BaseItemId != 0) {
        BaseItemId = other.BaseItemId;
      }
      if (other.BaseItemQty != 0) {
        BaseItemQty = other.BaseItemQty;
      }
      if (other.ExperiencedBonusItemId != 0) {
        ExperiencedBonusItemId = other.ExperiencedBonusItemId;
      }
      if (other.ExperiencedBonusItemQty != 0) {
        ExperiencedBonusItemQty = other.ExperiencedBonusItemQty;
      }
      if (other.MaidenBonusItemID != 0) {
        MaidenBonusItemID = other.MaidenBonusItemID;
      }
      if (other.MaidenBonusItemQty != 0) {
        MaidenBonusItemQty = other.MaidenBonusItemQty;
      }
      if (other.Price != 0) {
        Price = other.Price;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Order = input.ReadInt32();
            break;
          }
          case 32: {
            BaseItemId = input.ReadInt32();
            break;
          }
          case 40: {
            BaseItemQty = input.ReadInt32();
            break;
          }
          case 48: {
            ExperiencedBonusItemId = input.ReadInt32();
            break;
          }
          case 56: {
            ExperiencedBonusItemQty = input.ReadInt32();
            break;
          }
          case 64: {
            MaidenBonusItemID = input.ReadInt32();
            break;
          }
          case 72: {
            MaidenBonusItemQty = input.ReadInt32();
            break;
          }
          case 80: {
            Price = input.ReadInt32();
            break;
          }
          case 90: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Order = input.ReadInt32();
            break;
          }
          case 32: {
            BaseItemId = input.ReadInt32();
            break;
          }
          case 40: {
            BaseItemQty = input.ReadInt32();
            break;
          }
          case 48: {
            ExperiencedBonusItemId = input.ReadInt32();
            break;
          }
          case 56: {
            ExperiencedBonusItemQty = input.ReadInt32();
            break;
          }
          case 64: {
            MaidenBonusItemID = input.ReadInt32();
            break;
          }
          case 72: {
            MaidenBonusItemQty = input.ReadInt32();
            break;
          }
          case 80: {
            Price = input.ReadInt32();
            break;
          }
          case 90: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MallGem : pb::IMessage<table_MallGem>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MallGem> _parser = new pb::MessageParser<table_MallGem>(() => new table_MallGem());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MallGem> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[259]; }
    }

    [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 table_MallGem() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallGem(table_MallGem other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallGem Clone() {
      return new table_MallGem(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MallGem> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MallGem.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MallGem> list_ = new pbc::RepeatedField<global::Nova.Client.MallGem>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MallGem> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MallGem);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MallGem other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MallGem other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MallMonthlyCard : pb::IMessage<MallMonthlyCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MallMonthlyCard> _parser = new pb::MessageParser<MallMonthlyCard>(() => new MallMonthlyCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MallMonthlyCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[260]; }
    }

    [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 MallMonthlyCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallMonthlyCard(MallMonthlyCard other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      monthlyCardId_ = other.monthlyCardId_;
      price_ = other.price_;
      baseItemId_ = other.baseItemId_;
      baseItemQty_ = other.baseItemQty_;
      maxDays_ = other.maxDays_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallMonthlyCard Clone() {
      return new MallMonthlyCard(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MonthlyCardId" field.</summary>
    public const int MonthlyCardIdFieldNumber = 3;
    private int monthlyCardId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonthlyCardId {
      get { return monthlyCardId_; }
      set {
        monthlyCardId_ = value;
      }
    }

    /// <summary>Field number for the "Price" field.</summary>
    public const int PriceFieldNumber = 4;
    private int price_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Price {
      get { return price_; }
      set {
        price_ = value;
      }
    }

    /// <summary>Field number for the "BaseItemId" field.</summary>
    public const int BaseItemIdFieldNumber = 5;
    private int baseItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BaseItemId {
      get { return baseItemId_; }
      set {
        baseItemId_ = value;
      }
    }

    /// <summary>Field number for the "BaseItemQty" field.</summary>
    public const int BaseItemQtyFieldNumber = 6;
    private int baseItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BaseItemQty {
      get { return baseItemQty_; }
      set {
        baseItemQty_ = value;
      }
    }

    /// <summary>Field number for the "MaxDays" field.</summary>
    public const int MaxDaysFieldNumber = 7;
    private int maxDays_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxDays {
      get { return maxDays_; }
      set {
        maxDays_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 8;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 MallMonthlyCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MallMonthlyCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (MonthlyCardId != other.MonthlyCardId) return false;
      if (Price != other.Price) return false;
      if (BaseItemId != other.BaseItemId) return false;
      if (BaseItemQty != other.BaseItemQty) return false;
      if (MaxDays != other.MaxDays) return false;
      if (Icon != other.Icon) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (MonthlyCardId != 0) hash ^= MonthlyCardId.GetHashCode();
      if (Price != 0) hash ^= Price.GetHashCode();
      if (BaseItemId != 0) hash ^= BaseItemId.GetHashCode();
      if (BaseItemQty != 0) hash ^= BaseItemQty.GetHashCode();
      if (MaxDays != 0) hash ^= MaxDays.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (MonthlyCardId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MonthlyCardId);
      }
      if (Price != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Price);
      }
      if (BaseItemId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(BaseItemId);
      }
      if (BaseItemQty != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BaseItemQty);
      }
      if (MaxDays != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MaxDays);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (MonthlyCardId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MonthlyCardId);
      }
      if (Price != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Price);
      }
      if (BaseItemId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(BaseItemId);
      }
      if (BaseItemQty != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BaseItemQty);
      }
      if (MaxDays != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MaxDays);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (MonthlyCardId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonthlyCardId);
      }
      if (Price != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Price);
      }
      if (BaseItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BaseItemId);
      }
      if (BaseItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BaseItemQty);
      }
      if (MaxDays != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxDays);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MallMonthlyCard other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.MonthlyCardId != 0) {
        MonthlyCardId = other.MonthlyCardId;
      }
      if (other.Price != 0) {
        Price = other.Price;
      }
      if (other.BaseItemId != 0) {
        BaseItemId = other.BaseItemId;
      }
      if (other.BaseItemQty != 0) {
        BaseItemQty = other.BaseItemQty;
      }
      if (other.MaxDays != 0) {
        MaxDays = other.MaxDays;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            MonthlyCardId = input.ReadInt32();
            break;
          }
          case 32: {
            Price = input.ReadInt32();
            break;
          }
          case 40: {
            BaseItemId = input.ReadInt32();
            break;
          }
          case 48: {
            BaseItemQty = input.ReadInt32();
            break;
          }
          case 56: {
            MaxDays = input.ReadInt32();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            MonthlyCardId = input.ReadInt32();
            break;
          }
          case 32: {
            Price = input.ReadInt32();
            break;
          }
          case 40: {
            BaseItemId = input.ReadInt32();
            break;
          }
          case 48: {
            BaseItemQty = input.ReadInt32();
            break;
          }
          case 56: {
            MaxDays = input.ReadInt32();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MallMonthlyCard : pb::IMessage<table_MallMonthlyCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MallMonthlyCard> _parser = new pb::MessageParser<table_MallMonthlyCard>(() => new table_MallMonthlyCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MallMonthlyCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[261]; }
    }

    [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 table_MallMonthlyCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallMonthlyCard(table_MallMonthlyCard other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallMonthlyCard Clone() {
      return new table_MallMonthlyCard(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MallMonthlyCard> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MallMonthlyCard.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MallMonthlyCard> list_ = new pbc::RepeatedField<global::Nova.Client.MallMonthlyCard>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MallMonthlyCard> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MallMonthlyCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MallMonthlyCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MallMonthlyCard other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MallPackage : pb::IMessage<MallPackage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MallPackage> _parser = new pb::MessageParser<MallPackage>(() => new MallPackage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MallPackage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[262]; }
    }

    [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 MallPackage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallPackage(MallPackage other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      groupId_ = other.groupId_;
      sort_ = other.sort_;
      currencyType_ = other.currencyType_;
      currencyItemId_ = other.currencyItemId_;
      currencyItemQty_ = other.currencyItemQty_;
      stock_ = other.stock_;
      refreshType_ = other.refreshType_;
      items_ = other.items_;
      listCondType_ = other.listCondType_;
      listCondParams_ = other.listCondParams_;
      orderCondType_ = other.orderCondType_;
      orderCondParams_ = other.orderCondParams_;
      listTime_ = other.listTime_;
      deListTime_ = other.deListTime_;
      displayMode_ = other.displayMode_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallPackage Clone() {
      return new MallPackage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 3;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 4;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "CurrencyType" field.</summary>
    public const int CurrencyTypeFieldNumber = 5;
    private int currencyType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CurrencyType {
      get { return currencyType_; }
      set {
        currencyType_ = value;
      }
    }

    /// <summary>Field number for the "CurrencyItemId" field.</summary>
    public const int CurrencyItemIdFieldNumber = 6;
    private int currencyItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CurrencyItemId {
      get { return currencyItemId_; }
      set {
        currencyItemId_ = value;
      }
    }

    /// <summary>Field number for the "CurrencyItemQty" field.</summary>
    public const int CurrencyItemQtyFieldNumber = 7;
    private int currencyItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CurrencyItemQty {
      get { return currencyItemQty_; }
      set {
        currencyItemQty_ = value;
      }
    }

    /// <summary>Field number for the "Stock" field.</summary>
    public const int StockFieldNumber = 8;
    private int stock_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Stock {
      get { return stock_; }
      set {
        stock_ = value;
      }
    }

    /// <summary>Field number for the "RefreshType" field.</summary>
    public const int RefreshTypeFieldNumber = 9;
    private int refreshType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefreshType {
      get { return refreshType_; }
      set {
        refreshType_ = value;
      }
    }

    /// <summary>Field number for the "Items" field.</summary>
    public const int ItemsFieldNumber = 10;
    private string items_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Items {
      get { return items_; }
      set {
        items_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ListCondType" field.</summary>
    public const int ListCondTypeFieldNumber = 11;
    private int listCondType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ListCondType {
      get { return listCondType_; }
      set {
        listCondType_ = value;
      }
    }

    /// <summary>Field number for the "ListCondParams" field.</summary>
    public const int ListCondParamsFieldNumber = 12;
    private string listCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ListCondParams {
      get { return listCondParams_; }
      set {
        listCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderCondType" field.</summary>
    public const int OrderCondTypeFieldNumber = 13;
    private int orderCondType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OrderCondType {
      get { return orderCondType_; }
      set {
        orderCondType_ = value;
      }
    }

    /// <summary>Field number for the "OrderCondParams" field.</summary>
    public const int OrderCondParamsFieldNumber = 14;
    private string orderCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderCondParams {
      get { return orderCondParams_; }
      set {
        orderCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ListTime" field.</summary>
    public const int ListTimeFieldNumber = 15;
    private string listTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ListTime {
      get { return listTime_; }
      set {
        listTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DeListTime" field.</summary>
    public const int DeListTimeFieldNumber = 16;
    private string deListTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeListTime {
      get { return deListTime_; }
      set {
        deListTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DisplayMode" field.</summary>
    public const int DisplayModeFieldNumber = 17;
    private int displayMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DisplayMode {
      get { return displayMode_; }
      set {
        displayMode_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 18;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 MallPackage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MallPackage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (GroupId != other.GroupId) return false;
      if (Sort != other.Sort) return false;
      if (CurrencyType != other.CurrencyType) return false;
      if (CurrencyItemId != other.CurrencyItemId) return false;
      if (CurrencyItemQty != other.CurrencyItemQty) return false;
      if (Stock != other.Stock) return false;
      if (RefreshType != other.RefreshType) return false;
      if (Items != other.Items) return false;
      if (ListCondType != other.ListCondType) return false;
      if (ListCondParams != other.ListCondParams) return false;
      if (OrderCondType != other.OrderCondType) return false;
      if (OrderCondParams != other.OrderCondParams) return false;
      if (ListTime != other.ListTime) return false;
      if (DeListTime != other.DeListTime) return false;
      if (DisplayMode != other.DisplayMode) return false;
      if (Icon != other.Icon) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (CurrencyType != 0) hash ^= CurrencyType.GetHashCode();
      if (CurrencyItemId != 0) hash ^= CurrencyItemId.GetHashCode();
      if (CurrencyItemQty != 0) hash ^= CurrencyItemQty.GetHashCode();
      if (Stock != 0) hash ^= Stock.GetHashCode();
      if (RefreshType != 0) hash ^= RefreshType.GetHashCode();
      if (Items.Length != 0) hash ^= Items.GetHashCode();
      if (ListCondType != 0) hash ^= ListCondType.GetHashCode();
      if (ListCondParams.Length != 0) hash ^= ListCondParams.GetHashCode();
      if (OrderCondType != 0) hash ^= OrderCondType.GetHashCode();
      if (OrderCondParams.Length != 0) hash ^= OrderCondParams.GetHashCode();
      if (ListTime.Length != 0) hash ^= ListTime.GetHashCode();
      if (DeListTime.Length != 0) hash ^= DeListTime.GetHashCode();
      if (DisplayMode != 0) hash ^= DisplayMode.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (GroupId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GroupId);
      }
      if (Sort != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Sort);
      }
      if (CurrencyType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CurrencyType);
      }
      if (CurrencyItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(CurrencyItemId);
      }
      if (CurrencyItemQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(CurrencyItemQty);
      }
      if (Stock != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Stock);
      }
      if (RefreshType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RefreshType);
      }
      if (Items.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Items);
      }
      if (ListCondType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ListCondType);
      }
      if (ListCondParams.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(ListCondParams);
      }
      if (OrderCondType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(OrderCondType);
      }
      if (OrderCondParams.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(OrderCondParams);
      }
      if (ListTime.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(ListTime);
      }
      if (DeListTime.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(DeListTime);
      }
      if (DisplayMode != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(DisplayMode);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Icon);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (GroupId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GroupId);
      }
      if (Sort != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Sort);
      }
      if (CurrencyType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CurrencyType);
      }
      if (CurrencyItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(CurrencyItemId);
      }
      if (CurrencyItemQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(CurrencyItemQty);
      }
      if (Stock != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Stock);
      }
      if (RefreshType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RefreshType);
      }
      if (Items.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Items);
      }
      if (ListCondType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ListCondType);
      }
      if (ListCondParams.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(ListCondParams);
      }
      if (OrderCondType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(OrderCondType);
      }
      if (OrderCondParams.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(OrderCondParams);
      }
      if (ListTime.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(ListTime);
      }
      if (DeListTime.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(DeListTime);
      }
      if (DisplayMode != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(DisplayMode);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Icon);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (CurrencyType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrencyType);
      }
      if (CurrencyItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrencyItemId);
      }
      if (CurrencyItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrencyItemQty);
      }
      if (Stock != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stock);
      }
      if (RefreshType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefreshType);
      }
      if (Items.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Items);
      }
      if (ListCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ListCondType);
      }
      if (ListCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ListCondParams);
      }
      if (OrderCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OrderCondType);
      }
      if (OrderCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderCondParams);
      }
      if (ListTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ListTime);
      }
      if (DeListTime.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(DeListTime);
      }
      if (DisplayMode != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DisplayMode);
      }
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MallPackage other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.CurrencyType != 0) {
        CurrencyType = other.CurrencyType;
      }
      if (other.CurrencyItemId != 0) {
        CurrencyItemId = other.CurrencyItemId;
      }
      if (other.CurrencyItemQty != 0) {
        CurrencyItemQty = other.CurrencyItemQty;
      }
      if (other.Stock != 0) {
        Stock = other.Stock;
      }
      if (other.RefreshType != 0) {
        RefreshType = other.RefreshType;
      }
      if (other.Items.Length != 0) {
        Items = other.Items;
      }
      if (other.ListCondType != 0) {
        ListCondType = other.ListCondType;
      }
      if (other.ListCondParams.Length != 0) {
        ListCondParams = other.ListCondParams;
      }
      if (other.OrderCondType != 0) {
        OrderCondType = other.OrderCondType;
      }
      if (other.OrderCondParams.Length != 0) {
        OrderCondParams = other.OrderCondParams;
      }
      if (other.ListTime.Length != 0) {
        ListTime = other.ListTime;
      }
      if (other.DeListTime.Length != 0) {
        DeListTime = other.DeListTime;
      }
      if (other.DisplayMode != 0) {
        DisplayMode = other.DisplayMode;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            GroupId = input.ReadInt32();
            break;
          }
          case 32: {
            Sort = input.ReadInt32();
            break;
          }
          case 40: {
            CurrencyType = input.ReadInt32();
            break;
          }
          case 48: {
            CurrencyItemId = input.ReadInt32();
            break;
          }
          case 56: {
            CurrencyItemQty = input.ReadInt32();
            break;
          }
          case 64: {
            Stock = input.ReadInt32();
            break;
          }
          case 72: {
            RefreshType = input.ReadInt32();
            break;
          }
          case 82: {
            Items = input.ReadString();
            break;
          }
          case 88: {
            ListCondType = input.ReadInt32();
            break;
          }
          case 98: {
            ListCondParams = input.ReadString();
            break;
          }
          case 104: {
            OrderCondType = input.ReadInt32();
            break;
          }
          case 114: {
            OrderCondParams = input.ReadString();
            break;
          }
          case 122: {
            ListTime = input.ReadString();
            break;
          }
          case 130: {
            DeListTime = input.ReadString();
            break;
          }
          case 136: {
            DisplayMode = input.ReadInt32();
            break;
          }
          case 146: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            GroupId = input.ReadInt32();
            break;
          }
          case 32: {
            Sort = input.ReadInt32();
            break;
          }
          case 40: {
            CurrencyType = input.ReadInt32();
            break;
          }
          case 48: {
            CurrencyItemId = input.ReadInt32();
            break;
          }
          case 56: {
            CurrencyItemQty = input.ReadInt32();
            break;
          }
          case 64: {
            Stock = input.ReadInt32();
            break;
          }
          case 72: {
            RefreshType = input.ReadInt32();
            break;
          }
          case 82: {
            Items = input.ReadString();
            break;
          }
          case 88: {
            ListCondType = input.ReadInt32();
            break;
          }
          case 98: {
            ListCondParams = input.ReadString();
            break;
          }
          case 104: {
            OrderCondType = input.ReadInt32();
            break;
          }
          case 114: {
            OrderCondParams = input.ReadString();
            break;
          }
          case 122: {
            ListTime = input.ReadString();
            break;
          }
          case 130: {
            DeListTime = input.ReadString();
            break;
          }
          case 136: {
            DisplayMode = input.ReadInt32();
            break;
          }
          case 146: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MallPackage : pb::IMessage<table_MallPackage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MallPackage> _parser = new pb::MessageParser<table_MallPackage>(() => new table_MallPackage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MallPackage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[263]; }
    }

    [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 table_MallPackage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallPackage(table_MallPackage other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallPackage Clone() {
      return new table_MallPackage(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MallPackage> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MallPackage.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MallPackage> list_ = new pbc::RepeatedField<global::Nova.Client.MallPackage>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MallPackage> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MallPackage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MallPackage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MallPackage other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MallPackagePage : pb::IMessage<MallPackagePage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MallPackagePage> _parser = new pb::MessageParser<MallPackagePage>(() => new MallPackagePage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MallPackagePage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[264]; }
    }

    [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 MallPackagePage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallPackagePage(MallPackagePage other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      sort_ = other.sort_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallPackagePage Clone() {
      return new MallPackagePage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 3;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MallPackagePage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MallPackagePage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Sort != other.Sort) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Sort != 0) hash ^= Sort.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Sort != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Sort);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Sort != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Sort);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MallPackagePage other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MallPackagePage : pb::IMessage<table_MallPackagePage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MallPackagePage> _parser = new pb::MessageParser<table_MallPackagePage>(() => new table_MallPackagePage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MallPackagePage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[265]; }
    }

    [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 table_MallPackagePage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallPackagePage(table_MallPackagePage other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallPackagePage Clone() {
      return new table_MallPackagePage(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MallPackagePage> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MallPackagePage.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MallPackagePage> list_ = new pbc::RepeatedField<global::Nova.Client.MallPackagePage>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MallPackagePage> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MallPackagePage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MallPackagePage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MallPackagePage other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MallShop : pb::IMessage<MallShop>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MallShop> _parser = new pb::MessageParser<MallShop>(() => new MallShop());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MallShop> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[266]; }
    }

    [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 MallShop() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallShop(MallShop other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      groupId_ = other.groupId_;
      sort_ = other.sort_;
      exchangeItemId_ = other.exchangeItemId_;
      exchangeItemQty_ = other.exchangeItemQty_;
      stock_ = other.stock_;
      refreshType_ = other.refreshType_;
      itemId_ = other.itemId_;
      itemQty_ = other.itemQty_;
      listCondType_ = other.listCondType_;
      listCondParams_ = other.listCondParams_;
      orderCondType_ = other.orderCondType_;
      orderCondParams_ = other.orderCondParams_;
      listTime_ = other.listTime_;
      deListTime_ = other.deListTime_;
      displayMode_ = other.displayMode_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallShop Clone() {
      return new MallShop(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 4;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 5;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "ExchangeItemId" field.</summary>
    public const int ExchangeItemIdFieldNumber = 6;
    private int exchangeItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExchangeItemId {
      get { return exchangeItemId_; }
      set {
        exchangeItemId_ = value;
      }
    }

    /// <summary>Field number for the "ExchangeItemQty" field.</summary>
    public const int ExchangeItemQtyFieldNumber = 7;
    private int exchangeItemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ExchangeItemQty {
      get { return exchangeItemQty_; }
      set {
        exchangeItemQty_ = value;
      }
    }

    /// <summary>Field number for the "Stock" field.</summary>
    public const int StockFieldNumber = 8;
    private int stock_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Stock {
      get { return stock_; }
      set {
        stock_ = value;
      }
    }

    /// <summary>Field number for the "RefreshType" field.</summary>
    public const int RefreshTypeFieldNumber = 9;
    private int refreshType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefreshType {
      get { return refreshType_; }
      set {
        refreshType_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 10;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty" field.</summary>
    public const int ItemQtyFieldNumber = 11;
    private int itemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty {
      get { return itemQty_; }
      set {
        itemQty_ = value;
      }
    }

    /// <summary>Field number for the "ListCondType" field.</summary>
    public const int ListCondTypeFieldNumber = 12;
    private int listCondType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ListCondType {
      get { return listCondType_; }
      set {
        listCondType_ = value;
      }
    }

    /// <summary>Field number for the "ListCondParams" field.</summary>
    public const int ListCondParamsFieldNumber = 13;
    private string listCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ListCondParams {
      get { return listCondParams_; }
      set {
        listCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OrderCondType" field.</summary>
    public const int OrderCondTypeFieldNumber = 14;
    private int orderCondType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OrderCondType {
      get { return orderCondType_; }
      set {
        orderCondType_ = value;
      }
    }

    /// <summary>Field number for the "OrderCondParams" field.</summary>
    public const int OrderCondParamsFieldNumber = 15;
    private string orderCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OrderCondParams {
      get { return orderCondParams_; }
      set {
        orderCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ListTime" field.</summary>
    public const int ListTimeFieldNumber = 16;
    private string listTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ListTime {
      get { return listTime_; }
      set {
        listTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DeListTime" field.</summary>
    public const int DeListTimeFieldNumber = 17;
    private string deListTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeListTime {
      get { return deListTime_; }
      set {
        deListTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DisplayMode" field.</summary>
    public const int DisplayModeFieldNumber = 18;
    private int displayMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DisplayMode {
      get { return displayMode_; }
      set {
        displayMode_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MallShop);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MallShop other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (GroupId != other.GroupId) return false;
      if (Sort != other.Sort) return false;
      if (ExchangeItemId != other.ExchangeItemId) return false;
      if (ExchangeItemQty != other.ExchangeItemQty) return false;
      if (Stock != other.Stock) return false;
      if (RefreshType != other.RefreshType) return false;
      if (ItemId != other.ItemId) return false;
      if (ItemQty != other.ItemQty) return false;
      if (ListCondType != other.ListCondType) return false;
      if (ListCondParams != other.ListCondParams) return false;
      if (OrderCondType != other.OrderCondType) return false;
      if (OrderCondParams != other.OrderCondParams) return false;
      if (ListTime != other.ListTime) return false;
      if (DeListTime != other.DeListTime) return false;
      if (DisplayMode != other.DisplayMode) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (ExchangeItemId != 0) hash ^= ExchangeItemId.GetHashCode();
      if (ExchangeItemQty != 0) hash ^= ExchangeItemQty.GetHashCode();
      if (Stock != 0) hash ^= Stock.GetHashCode();
      if (RefreshType != 0) hash ^= RefreshType.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ItemQty != 0) hash ^= ItemQty.GetHashCode();
      if (ListCondType != 0) hash ^= ListCondType.GetHashCode();
      if (ListCondParams.Length != 0) hash ^= ListCondParams.GetHashCode();
      if (OrderCondType != 0) hash ^= OrderCondType.GetHashCode();
      if (OrderCondParams.Length != 0) hash ^= OrderCondParams.GetHashCode();
      if (ListTime.Length != 0) hash ^= ListTime.GetHashCode();
      if (DeListTime.Length != 0) hash ^= DeListTime.GetHashCode();
      if (DisplayMode != 0) hash ^= DisplayMode.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (GroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GroupId);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      if (ExchangeItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ExchangeItemId);
      }
      if (ExchangeItemQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ExchangeItemQty);
      }
      if (Stock != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Stock);
      }
      if (RefreshType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RefreshType);
      }
      if (ItemId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ItemQty);
      }
      if (ListCondType != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ListCondType);
      }
      if (ListCondParams.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ListCondParams);
      }
      if (OrderCondType != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(OrderCondType);
      }
      if (OrderCondParams.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(OrderCondParams);
      }
      if (ListTime.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(ListTime);
      }
      if (DeListTime.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(DeListTime);
      }
      if (DisplayMode != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(DisplayMode);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (GroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GroupId);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      if (ExchangeItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ExchangeItemId);
      }
      if (ExchangeItemQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ExchangeItemQty);
      }
      if (Stock != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Stock);
      }
      if (RefreshType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RefreshType);
      }
      if (ItemId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ItemQty);
      }
      if (ListCondType != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ListCondType);
      }
      if (ListCondParams.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(ListCondParams);
      }
      if (OrderCondType != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(OrderCondType);
      }
      if (OrderCondParams.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(OrderCondParams);
      }
      if (ListTime.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(ListTime);
      }
      if (DeListTime.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(DeListTime);
      }
      if (DisplayMode != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(DisplayMode);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (ExchangeItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExchangeItemId);
      }
      if (ExchangeItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ExchangeItemQty);
      }
      if (Stock != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stock);
      }
      if (RefreshType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefreshType);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemQty);
      }
      if (ListCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ListCondType);
      }
      if (ListCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ListCondParams);
      }
      if (OrderCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OrderCondType);
      }
      if (OrderCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OrderCondParams);
      }
      if (ListTime.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ListTime);
      }
      if (DeListTime.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(DeListTime);
      }
      if (DisplayMode != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DisplayMode);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MallShop other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.ExchangeItemId != 0) {
        ExchangeItemId = other.ExchangeItemId;
      }
      if (other.ExchangeItemQty != 0) {
        ExchangeItemQty = other.ExchangeItemQty;
      }
      if (other.Stock != 0) {
        Stock = other.Stock;
      }
      if (other.RefreshType != 0) {
        RefreshType = other.RefreshType;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ItemQty != 0) {
        ItemQty = other.ItemQty;
      }
      if (other.ListCondType != 0) {
        ListCondType = other.ListCondType;
      }
      if (other.ListCondParams.Length != 0) {
        ListCondParams = other.ListCondParams;
      }
      if (other.OrderCondType != 0) {
        OrderCondType = other.OrderCondType;
      }
      if (other.OrderCondParams.Length != 0) {
        OrderCondParams = other.OrderCondParams;
      }
      if (other.ListTime.Length != 0) {
        ListTime = other.ListTime;
      }
      if (other.DeListTime.Length != 0) {
        DeListTime = other.DeListTime;
      }
      if (other.DisplayMode != 0) {
        DisplayMode = other.DisplayMode;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            GroupId = input.ReadInt32();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
          case 48: {
            ExchangeItemId = input.ReadInt32();
            break;
          }
          case 56: {
            ExchangeItemQty = input.ReadInt32();
            break;
          }
          case 64: {
            Stock = input.ReadInt32();
            break;
          }
          case 72: {
            RefreshType = input.ReadInt32();
            break;
          }
          case 80: {
            ItemId = input.ReadInt32();
            break;
          }
          case 88: {
            ItemQty = input.ReadInt32();
            break;
          }
          case 96: {
            ListCondType = input.ReadInt32();
            break;
          }
          case 106: {
            ListCondParams = input.ReadString();
            break;
          }
          case 112: {
            OrderCondType = input.ReadInt32();
            break;
          }
          case 122: {
            OrderCondParams = input.ReadString();
            break;
          }
          case 130: {
            ListTime = input.ReadString();
            break;
          }
          case 138: {
            DeListTime = input.ReadString();
            break;
          }
          case 144: {
            DisplayMode = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            GroupId = input.ReadInt32();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
          case 48: {
            ExchangeItemId = input.ReadInt32();
            break;
          }
          case 56: {
            ExchangeItemQty = input.ReadInt32();
            break;
          }
          case 64: {
            Stock = input.ReadInt32();
            break;
          }
          case 72: {
            RefreshType = input.ReadInt32();
            break;
          }
          case 80: {
            ItemId = input.ReadInt32();
            break;
          }
          case 88: {
            ItemQty = input.ReadInt32();
            break;
          }
          case 96: {
            ListCondType = input.ReadInt32();
            break;
          }
          case 106: {
            ListCondParams = input.ReadString();
            break;
          }
          case 112: {
            OrderCondType = input.ReadInt32();
            break;
          }
          case 122: {
            OrderCondParams = input.ReadString();
            break;
          }
          case 130: {
            ListTime = input.ReadString();
            break;
          }
          case 138: {
            DeListTime = input.ReadString();
            break;
          }
          case 144: {
            DisplayMode = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MallShop : pb::IMessage<table_MallShop>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MallShop> _parser = new pb::MessageParser<table_MallShop>(() => new table_MallShop());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MallShop> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[267]; }
    }

    [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 table_MallShop() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallShop(table_MallShop other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallShop Clone() {
      return new table_MallShop(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MallShop> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MallShop.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MallShop> list_ = new pbc::RepeatedField<global::Nova.Client.MallShop>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MallShop> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MallShop);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MallShop other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MallShop other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MallShopPage : pb::IMessage<MallShopPage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MallShopPage> _parser = new pb::MessageParser<MallShopPage>(() => new MallShopPage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MallShopPage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[268]; }
    }

    [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 MallShopPage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallShopPage(MallShopPage other) : this() {
      id_ = other.id_;
      sort_ = other.sort_;
      name_ = other.name_;
      refreshTimeType_ = other.refreshTimeType_;
      shopCoin_ = other.shopCoin_;
      listTime_ = other.listTime_;
      deListTime_ = other.deListTime_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MallShopPage Clone() {
      return new MallShopPage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 2;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RefreshTimeType" field.</summary>
    public const int RefreshTimeTypeFieldNumber = 4;
    private int refreshTimeType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefreshTimeType {
      get { return refreshTimeType_; }
      set {
        refreshTimeType_ = value;
      }
    }

    /// <summary>Field number for the "ShopCoin" field.</summary>
    public const int ShopCoinFieldNumber = 5;
    private int shopCoin_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShopCoin {
      get { return shopCoin_; }
      set {
        shopCoin_ = value;
      }
    }

    /// <summary>Field number for the "ListTime" field.</summary>
    public const int ListTimeFieldNumber = 6;
    private string listTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ListTime {
      get { return listTime_; }
      set {
        listTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DeListTime" field.</summary>
    public const int DeListTimeFieldNumber = 7;
    private string deListTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeListTime {
      get { return deListTime_; }
      set {
        deListTime_ = 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 MallShopPage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MallShopPage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Sort != other.Sort) return false;
      if (Name != other.Name) return false;
      if (RefreshTimeType != other.RefreshTimeType) return false;
      if (ShopCoin != other.ShopCoin) return false;
      if (ListTime != other.ListTime) return false;
      if (DeListTime != other.DeListTime) 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 (Sort != 0) hash ^= Sort.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (RefreshTimeType != 0) hash ^= RefreshTimeType.GetHashCode();
      if (ShopCoin != 0) hash ^= ShopCoin.GetHashCode();
      if (ListTime.Length != 0) hash ^= ListTime.GetHashCode();
      if (DeListTime.Length != 0) hash ^= DeListTime.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.WriteInt32(Id);
      }
      if (Sort != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Sort);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (RefreshTimeType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RefreshTimeType);
      }
      if (ShopCoin != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ShopCoin);
      }
      if (ListTime.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ListTime);
      }
      if (DeListTime.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(DeListTime);
      }
      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.WriteInt32(Id);
      }
      if (Sort != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Sort);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (RefreshTimeType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RefreshTimeType);
      }
      if (ShopCoin != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ShopCoin);
      }
      if (ListTime.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ListTime);
      }
      if (DeListTime.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(DeListTime);
      }
      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.ComputeInt32Size(Id);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (RefreshTimeType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefreshTimeType);
      }
      if (ShopCoin != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShopCoin);
      }
      if (ListTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ListTime);
      }
      if (DeListTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DeListTime);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MallShopPage other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.RefreshTimeType != 0) {
        RefreshTimeType = other.RefreshTimeType;
      }
      if (other.ShopCoin != 0) {
        ShopCoin = other.ShopCoin;
      }
      if (other.ListTime.Length != 0) {
        ListTime = other.ListTime;
      }
      if (other.DeListTime.Length != 0) {
        DeListTime = other.DeListTime;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Sort = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            RefreshTimeType = input.ReadInt32();
            break;
          }
          case 40: {
            ShopCoin = input.ReadInt32();
            break;
          }
          case 50: {
            ListTime = input.ReadString();
            break;
          }
          case 58: {
            DeListTime = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Sort = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            RefreshTimeType = input.ReadInt32();
            break;
          }
          case 40: {
            ShopCoin = input.ReadInt32();
            break;
          }
          case 50: {
            ListTime = input.ReadString();
            break;
          }
          case 58: {
            DeListTime = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MallShopPage : pb::IMessage<table_MallShopPage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MallShopPage> _parser = new pb::MessageParser<table_MallShopPage>(() => new table_MallShopPage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MallShopPage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[269]; }
    }

    [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 table_MallShopPage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallShopPage(table_MallShopPage other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MallShopPage Clone() {
      return new table_MallShopPage(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MallShopPage> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MallShopPage.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MallShopPage> list_ = new pbc::RepeatedField<global::Nova.Client.MallShopPage>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MallShopPage> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MallShopPage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MallShopPage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MallShopPage other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Monster : pb::IMessage<Monster>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Monster> _parser = new pb::MessageParser<Monster>(() => new Monster());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Monster> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[270]; }
    }

    [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 Monster() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Monster(Monster other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      formalNameId_ = other.formalNameId_;
      epicLv_ = other.epicLv_;
      monsterPosition_ = other.monsterPosition_;
      bloodType_ = other.bloodType_;
      force_ = other.force_;
      fCId_ = other.fCId_;
      fAId_ = other.fAId_;
      movType_ = other.movType_;
      runSpd_ = other.runSpd_;
      transSpdScale_ = other.transSpdScale_;
      walkSpd_ = other.walkSpd_;
      movAcc_ = other.movAcc_;
      visionRng_ = other.visionRng_;
      visionDeg_ = other.visionDeg_;
      hearRng_ = other.hearRng_;
      refRng_ = other.refRng_;
      actRng_ = other.actRng_;
      disActRng_ = other.disActRng_;
      searchRng_ = other.searchRng_;
      rotSpd_ = other.rotSpd_;
      rotSpdInSkill_ = other.rotSpdInSkill_;
      templete_ = other.templete_;
      buffIds_ = other.buffIds_.Clone();
      subType_ = other.subType_;
      faction_ = other.faction_;
      trapTagIds_ = other.trapTagIds_.Clone();
      supCharge_ = other.supCharge_;
      isShowRng_ = other.isShowRng_;
      weight_ = other.weight_;
      toughnessBrokenTime_ = other.toughnessBrokenTime_;
      tag1_ = other.tag1_;
      tag2_ = other.tag2_;
      tag3_ = other.tag3_;
      tag4_ = other.tag4_;
      tag5_ = other.tag5_;
      attackHintType_ = other.attackHintType_;
      blockPriority_ = other.blockPriority_;
      wayPointShift_ = other.wayPointShift_;
      monsterTeamId_ = other.monsterTeamId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Monster Clone() {
      return new Monster(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FormalNameId" field.</summary>
    public const int FormalNameIdFieldNumber = 3;
    private int formalNameId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FormalNameId {
      get { return formalNameId_; }
      set {
        formalNameId_ = value;
      }
    }

    /// <summary>Field number for the "EpicLv" field.</summary>
    public const int EpicLvFieldNumber = 4;
    private int epicLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EpicLv {
      get { return epicLv_; }
      set {
        epicLv_ = value;
      }
    }

    /// <summary>Field number for the "MonsterPosition" field.</summary>
    public const int MonsterPositionFieldNumber = 5;
    private int monsterPosition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterPosition {
      get { return monsterPosition_; }
      set {
        monsterPosition_ = value;
      }
    }

    /// <summary>Field number for the "BloodType" field.</summary>
    public const int BloodTypeFieldNumber = 6;
    private int bloodType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BloodType {
      get { return bloodType_; }
      set {
        bloodType_ = value;
      }
    }

    /// <summary>Field number for the "Force" field.</summary>
    public const int ForceFieldNumber = 7;
    private string force_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Force {
      get { return force_; }
      set {
        force_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FCId" field.</summary>
    public const int FCIdFieldNumber = 8;
    private int fCId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FCId {
      get { return fCId_; }
      set {
        fCId_ = value;
      }
    }

    /// <summary>Field number for the "FAId" field.</summary>
    public const int FAIdFieldNumber = 9;
    private int fAId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FAId {
      get { return fAId_; }
      set {
        fAId_ = value;
      }
    }

    /// <summary>Field number for the "MovType" field.</summary>
    public const int MovTypeFieldNumber = 10;
    private int movType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MovType {
      get { return movType_; }
      set {
        movType_ = value;
      }
    }

    /// <summary>Field number for the "RunSpd" field.</summary>
    public const int RunSpdFieldNumber = 11;
    private int runSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RunSpd {
      get { return runSpd_; }
      set {
        runSpd_ = value;
      }
    }

    /// <summary>Field number for the "TransSpdScale" field.</summary>
    public const int TransSpdScaleFieldNumber = 12;
    private int transSpdScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TransSpdScale {
      get { return transSpdScale_; }
      set {
        transSpdScale_ = value;
      }
    }

    /// <summary>Field number for the "WalkSpd" field.</summary>
    public const int WalkSpdFieldNumber = 13;
    private int walkSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WalkSpd {
      get { return walkSpd_; }
      set {
        walkSpd_ = value;
      }
    }

    /// <summary>Field number for the "MovAcc" field.</summary>
    public const int MovAccFieldNumber = 14;
    private int movAcc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MovAcc {
      get { return movAcc_; }
      set {
        movAcc_ = value;
      }
    }

    /// <summary>Field number for the "VisionRng" field.</summary>
    public const int VisionRngFieldNumber = 15;
    private int visionRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int VisionRng {
      get { return visionRng_; }
      set {
        visionRng_ = value;
      }
    }

    /// <summary>Field number for the "VisionDeg" field.</summary>
    public const int VisionDegFieldNumber = 16;
    private int visionDeg_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int VisionDeg {
      get { return visionDeg_; }
      set {
        visionDeg_ = value;
      }
    }

    /// <summary>Field number for the "HearRng" field.</summary>
    public const int HearRngFieldNumber = 17;
    private int hearRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HearRng {
      get { return hearRng_; }
      set {
        hearRng_ = value;
      }
    }

    /// <summary>Field number for the "RefRng" field.</summary>
    public const int RefRngFieldNumber = 18;
    private int refRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefRng {
      get { return refRng_; }
      set {
        refRng_ = value;
      }
    }

    /// <summary>Field number for the "ActRng" field.</summary>
    public const int ActRngFieldNumber = 19;
    private int actRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ActRng {
      get { return actRng_; }
      set {
        actRng_ = value;
      }
    }

    /// <summary>Field number for the "DisActRng" field.</summary>
    public const int DisActRngFieldNumber = 20;
    private int disActRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DisActRng {
      get { return disActRng_; }
      set {
        disActRng_ = value;
      }
    }

    /// <summary>Field number for the "SearchRng" field.</summary>
    public const int SearchRngFieldNumber = 21;
    private int searchRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SearchRng {
      get { return searchRng_; }
      set {
        searchRng_ = value;
      }
    }

    /// <summary>Field number for the "RotSpd" field.</summary>
    public const int RotSpdFieldNumber = 22;
    private int rotSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RotSpd {
      get { return rotSpd_; }
      set {
        rotSpd_ = value;
      }
    }

    /// <summary>Field number for the "RotSpdInSkill" field.</summary>
    public const int RotSpdInSkillFieldNumber = 23;
    private int rotSpdInSkill_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RotSpdInSkill {
      get { return rotSpdInSkill_; }
      set {
        rotSpdInSkill_ = value;
      }
    }

    /// <summary>Field number for the "Templete" field.</summary>
    public const int TempleteFieldNumber = 24;
    private int templete_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Templete {
      get { return templete_; }
      set {
        templete_ = value;
      }
    }

    /// <summary>Field number for the "BuffIds" field.</summary>
    public const int BuffIdsFieldNumber = 25;
    private static readonly pb::FieldCodec<int> _repeated_buffIds_codec
        = pb::FieldCodec.ForInt32(202);
    private readonly pbc::RepeatedField<int> buffIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BuffIds {
      get { return buffIds_; }
    }

    /// <summary>Field number for the "SubType" field.</summary>
    public const int SubTypeFieldNumber = 26;
    private int subType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SubType {
      get { return subType_; }
      set {
        subType_ = value;
      }
    }

    /// <summary>Field number for the "Faction" field.</summary>
    public const int FactionFieldNumber = 27;
    private int faction_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Faction {
      get { return faction_; }
      set {
        faction_ = value;
      }
    }

    /// <summary>Field number for the "TrapTagIds" field.</summary>
    public const int TrapTagIdsFieldNumber = 28;
    private static readonly pb::FieldCodec<int> _repeated_trapTagIds_codec
        = pb::FieldCodec.ForInt32(226);
    private readonly pbc::RepeatedField<int> trapTagIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TrapTagIds {
      get { return trapTagIds_; }
    }

    /// <summary>Field number for the "SupCharge" field.</summary>
    public const int SupChargeFieldNumber = 29;
    private int supCharge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SupCharge {
      get { return supCharge_; }
      set {
        supCharge_ = value;
      }
    }

    /// <summary>Field number for the "IsShowRng" field.</summary>
    public const int IsShowRngFieldNumber = 30;
    private bool isShowRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsShowRng {
      get { return isShowRng_; }
      set {
        isShowRng_ = value;
      }
    }

    /// <summary>Field number for the "Weight" field.</summary>
    public const int WeightFieldNumber = 31;
    private int weight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Weight {
      get { return weight_; }
      set {
        weight_ = value;
      }
    }

    /// <summary>Field number for the "ToughnessBrokenTime" field.</summary>
    public const int ToughnessBrokenTimeFieldNumber = 32;
    private int toughnessBrokenTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToughnessBrokenTime {
      get { return toughnessBrokenTime_; }
      set {
        toughnessBrokenTime_ = value;
      }
    }

    /// <summary>Field number for the "Tag1" field.</summary>
    public const int Tag1FieldNumber = 33;
    private string tag1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag1 {
      get { return tag1_; }
      set {
        tag1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag2" field.</summary>
    public const int Tag2FieldNumber = 34;
    private string tag2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag2 {
      get { return tag2_; }
      set {
        tag2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag3" field.</summary>
    public const int Tag3FieldNumber = 35;
    private string tag3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag3 {
      get { return tag3_; }
      set {
        tag3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag4" field.</summary>
    public const int Tag4FieldNumber = 36;
    private string tag4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag4 {
      get { return tag4_; }
      set {
        tag4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag5" field.</summary>
    public const int Tag5FieldNumber = 37;
    private string tag5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag5 {
      get { return tag5_; }
      set {
        tag5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AttackHintType" field.</summary>
    public const int AttackHintTypeFieldNumber = 38;
    private int attackHintType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttackHintType {
      get { return attackHintType_; }
      set {
        attackHintType_ = value;
      }
    }

    /// <summary>Field number for the "BlockPriority" field.</summary>
    public const int BlockPriorityFieldNumber = 39;
    private int blockPriority_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BlockPriority {
      get { return blockPriority_; }
      set {
        blockPriority_ = value;
      }
    }

    /// <summary>Field number for the "WayPointShift" field.</summary>
    public const int WayPointShiftFieldNumber = 40;
    private int wayPointShift_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WayPointShift {
      get { return wayPointShift_; }
      set {
        wayPointShift_ = value;
      }
    }

    /// <summary>Field number for the "MonsterTeamId" field.</summary>
    public const int MonsterTeamIdFieldNumber = 41;
    private int monsterTeamId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterTeamId {
      get { return monsterTeamId_; }
      set {
        monsterTeamId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Monster);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Monster other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (FormalNameId != other.FormalNameId) return false;
      if (EpicLv != other.EpicLv) return false;
      if (MonsterPosition != other.MonsterPosition) return false;
      if (BloodType != other.BloodType) return false;
      if (Force != other.Force) return false;
      if (FCId != other.FCId) return false;
      if (FAId != other.FAId) return false;
      if (MovType != other.MovType) return false;
      if (RunSpd != other.RunSpd) return false;
      if (TransSpdScale != other.TransSpdScale) return false;
      if (WalkSpd != other.WalkSpd) return false;
      if (MovAcc != other.MovAcc) return false;
      if (VisionRng != other.VisionRng) return false;
      if (VisionDeg != other.VisionDeg) return false;
      if (HearRng != other.HearRng) return false;
      if (RefRng != other.RefRng) return false;
      if (ActRng != other.ActRng) return false;
      if (DisActRng != other.DisActRng) return false;
      if (SearchRng != other.SearchRng) return false;
      if (RotSpd != other.RotSpd) return false;
      if (RotSpdInSkill != other.RotSpdInSkill) return false;
      if (Templete != other.Templete) return false;
      if(!buffIds_.Equals(other.buffIds_)) return false;
      if (SubType != other.SubType) return false;
      if (Faction != other.Faction) return false;
      if(!trapTagIds_.Equals(other.trapTagIds_)) return false;
      if (SupCharge != other.SupCharge) return false;
      if (IsShowRng != other.IsShowRng) return false;
      if (Weight != other.Weight) return false;
      if (ToughnessBrokenTime != other.ToughnessBrokenTime) return false;
      if (Tag1 != other.Tag1) return false;
      if (Tag2 != other.Tag2) return false;
      if (Tag3 != other.Tag3) return false;
      if (Tag4 != other.Tag4) return false;
      if (Tag5 != other.Tag5) return false;
      if (AttackHintType != other.AttackHintType) return false;
      if (BlockPriority != other.BlockPriority) return false;
      if (WayPointShift != other.WayPointShift) return false;
      if (MonsterTeamId != other.MonsterTeamId) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (FormalNameId != 0) hash ^= FormalNameId.GetHashCode();
      if (EpicLv != 0) hash ^= EpicLv.GetHashCode();
      if (MonsterPosition != 0) hash ^= MonsterPosition.GetHashCode();
      if (BloodType != 0) hash ^= BloodType.GetHashCode();
      if (Force.Length != 0) hash ^= Force.GetHashCode();
      if (FCId != 0) hash ^= FCId.GetHashCode();
      if (FAId != 0) hash ^= FAId.GetHashCode();
      if (MovType != 0) hash ^= MovType.GetHashCode();
      if (RunSpd != 0) hash ^= RunSpd.GetHashCode();
      if (TransSpdScale != 0) hash ^= TransSpdScale.GetHashCode();
      if (WalkSpd != 0) hash ^= WalkSpd.GetHashCode();
      if (MovAcc != 0) hash ^= MovAcc.GetHashCode();
      if (VisionRng != 0) hash ^= VisionRng.GetHashCode();
      if (VisionDeg != 0) hash ^= VisionDeg.GetHashCode();
      if (HearRng != 0) hash ^= HearRng.GetHashCode();
      if (RefRng != 0) hash ^= RefRng.GetHashCode();
      if (ActRng != 0) hash ^= ActRng.GetHashCode();
      if (DisActRng != 0) hash ^= DisActRng.GetHashCode();
      if (SearchRng != 0) hash ^= SearchRng.GetHashCode();
      if (RotSpd != 0) hash ^= RotSpd.GetHashCode();
      if (RotSpdInSkill != 0) hash ^= RotSpdInSkill.GetHashCode();
      if (Templete != 0) hash ^= Templete.GetHashCode();
      hash ^= buffIds_.GetHashCode();
      if (SubType != 0) hash ^= SubType.GetHashCode();
      if (Faction != 0) hash ^= Faction.GetHashCode();
      hash ^= trapTagIds_.GetHashCode();
      if (SupCharge != 0) hash ^= SupCharge.GetHashCode();
      if (IsShowRng != false) hash ^= IsShowRng.GetHashCode();
      if (Weight != 0) hash ^= Weight.GetHashCode();
      if (ToughnessBrokenTime != 0) hash ^= ToughnessBrokenTime.GetHashCode();
      if (Tag1.Length != 0) hash ^= Tag1.GetHashCode();
      if (Tag2.Length != 0) hash ^= Tag2.GetHashCode();
      if (Tag3.Length != 0) hash ^= Tag3.GetHashCode();
      if (Tag4.Length != 0) hash ^= Tag4.GetHashCode();
      if (Tag5.Length != 0) hash ^= Tag5.GetHashCode();
      if (AttackHintType != 0) hash ^= AttackHintType.GetHashCode();
      if (BlockPriority != 0) hash ^= BlockPriority.GetHashCode();
      if (WayPointShift != 0) hash ^= WayPointShift.GetHashCode();
      if (MonsterTeamId != 0) hash ^= MonsterTeamId.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (FormalNameId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FormalNameId);
      }
      if (EpicLv != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EpicLv);
      }
      if (MonsterPosition != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MonsterPosition);
      }
      if (BloodType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BloodType);
      }
      if (Force.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Force);
      }
      if (FCId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FCId);
      }
      if (FAId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FAId);
      }
      if (MovType != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(MovType);
      }
      if (RunSpd != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RunSpd);
      }
      if (TransSpdScale != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(TransSpdScale);
      }
      if (WalkSpd != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(WalkSpd);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(MovAcc);
      }
      if (VisionRng != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(VisionRng);
      }
      if (VisionDeg != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(VisionDeg);
      }
      if (HearRng != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(HearRng);
      }
      if (RefRng != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(RefRng);
      }
      if (ActRng != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ActRng);
      }
      if (DisActRng != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DisActRng);
      }
      if (SearchRng != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(SearchRng);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(RotSpd);
      }
      if (RotSpdInSkill != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(RotSpdInSkill);
      }
      if (Templete != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(Templete);
      }
      buffIds_.WriteTo(output, _repeated_buffIds_codec);
      if (SubType != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(SubType);
      }
      if (Faction != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(Faction);
      }
      trapTagIds_.WriteTo(output, _repeated_trapTagIds_codec);
      if (SupCharge != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(SupCharge);
      }
      if (IsShowRng != false) {
        output.WriteRawTag(240, 1);
        output.WriteBool(IsShowRng);
      }
      if (Weight != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(Weight);
      }
      if (ToughnessBrokenTime != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(ToughnessBrokenTime);
      }
      if (Tag1.Length != 0) {
        output.WriteRawTag(138, 2);
        output.WriteString(Tag1);
      }
      if (Tag2.Length != 0) {
        output.WriteRawTag(146, 2);
        output.WriteString(Tag2);
      }
      if (Tag3.Length != 0) {
        output.WriteRawTag(154, 2);
        output.WriteString(Tag3);
      }
      if (Tag4.Length != 0) {
        output.WriteRawTag(162, 2);
        output.WriteString(Tag4);
      }
      if (Tag5.Length != 0) {
        output.WriteRawTag(170, 2);
        output.WriteString(Tag5);
      }
      if (AttackHintType != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(AttackHintType);
      }
      if (BlockPriority != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(BlockPriority);
      }
      if (WayPointShift != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(WayPointShift);
      }
      if (MonsterTeamId != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(MonsterTeamId);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (FormalNameId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FormalNameId);
      }
      if (EpicLv != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EpicLv);
      }
      if (MonsterPosition != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MonsterPosition);
      }
      if (BloodType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BloodType);
      }
      if (Force.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Force);
      }
      if (FCId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FCId);
      }
      if (FAId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FAId);
      }
      if (MovType != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(MovType);
      }
      if (RunSpd != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RunSpd);
      }
      if (TransSpdScale != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(TransSpdScale);
      }
      if (WalkSpd != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(WalkSpd);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(MovAcc);
      }
      if (VisionRng != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(VisionRng);
      }
      if (VisionDeg != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(VisionDeg);
      }
      if (HearRng != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(HearRng);
      }
      if (RefRng != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(RefRng);
      }
      if (ActRng != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ActRng);
      }
      if (DisActRng != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DisActRng);
      }
      if (SearchRng != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(SearchRng);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(RotSpd);
      }
      if (RotSpdInSkill != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(RotSpdInSkill);
      }
      if (Templete != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(Templete);
      }
      buffIds_.WriteTo(ref output, _repeated_buffIds_codec);
      if (SubType != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(SubType);
      }
      if (Faction != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(Faction);
      }
      trapTagIds_.WriteTo(ref output, _repeated_trapTagIds_codec);
      if (SupCharge != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(SupCharge);
      }
      if (IsShowRng != false) {
        output.WriteRawTag(240, 1);
        output.WriteBool(IsShowRng);
      }
      if (Weight != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(Weight);
      }
      if (ToughnessBrokenTime != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(ToughnessBrokenTime);
      }
      if (Tag1.Length != 0) {
        output.WriteRawTag(138, 2);
        output.WriteString(Tag1);
      }
      if (Tag2.Length != 0) {
        output.WriteRawTag(146, 2);
        output.WriteString(Tag2);
      }
      if (Tag3.Length != 0) {
        output.WriteRawTag(154, 2);
        output.WriteString(Tag3);
      }
      if (Tag4.Length != 0) {
        output.WriteRawTag(162, 2);
        output.WriteString(Tag4);
      }
      if (Tag5.Length != 0) {
        output.WriteRawTag(170, 2);
        output.WriteString(Tag5);
      }
      if (AttackHintType != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(AttackHintType);
      }
      if (BlockPriority != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(BlockPriority);
      }
      if (WayPointShift != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(WayPointShift);
      }
      if (MonsterTeamId != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(MonsterTeamId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (FormalNameId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FormalNameId);
      }
      if (EpicLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EpicLv);
      }
      if (MonsterPosition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterPosition);
      }
      if (BloodType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BloodType);
      }
      if (Force.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Force);
      }
      if (FCId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FCId);
      }
      if (FAId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FAId);
      }
      if (MovType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MovType);
      }
      if (RunSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RunSpd);
      }
      if (TransSpdScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TransSpdScale);
      }
      if (WalkSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WalkSpd);
      }
      if (MovAcc != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MovAcc);
      }
      if (VisionRng != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(VisionRng);
      }
      if (VisionDeg != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(VisionDeg);
      }
      if (HearRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HearRng);
      }
      if (RefRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RefRng);
      }
      if (ActRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ActRng);
      }
      if (DisActRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DisActRng);
      }
      if (SearchRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SearchRng);
      }
      if (RotSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RotSpd);
      }
      if (RotSpdInSkill != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RotSpdInSkill);
      }
      if (Templete != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Templete);
      }
      size += buffIds_.CalculateSize(_repeated_buffIds_codec);
      if (SubType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SubType);
      }
      if (Faction != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Faction);
      }
      size += trapTagIds_.CalculateSize(_repeated_trapTagIds_codec);
      if (SupCharge != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SupCharge);
      }
      if (IsShowRng != false) {
        size += 2 + 1;
      }
      if (Weight != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      if (ToughnessBrokenTime != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToughnessBrokenTime);
      }
      if (Tag1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag1);
      }
      if (Tag2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag2);
      }
      if (Tag3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag3);
      }
      if (Tag4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag4);
      }
      if (Tag5.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag5);
      }
      if (AttackHintType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AttackHintType);
      }
      if (BlockPriority != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(BlockPriority);
      }
      if (WayPointShift != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WayPointShift);
      }
      if (MonsterTeamId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MonsterTeamId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Monster other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.FormalNameId != 0) {
        FormalNameId = other.FormalNameId;
      }
      if (other.EpicLv != 0) {
        EpicLv = other.EpicLv;
      }
      if (other.MonsterPosition != 0) {
        MonsterPosition = other.MonsterPosition;
      }
      if (other.BloodType != 0) {
        BloodType = other.BloodType;
      }
      if (other.Force.Length != 0) {
        Force = other.Force;
      }
      if (other.FCId != 0) {
        FCId = other.FCId;
      }
      if (other.FAId != 0) {
        FAId = other.FAId;
      }
      if (other.MovType != 0) {
        MovType = other.MovType;
      }
      if (other.RunSpd != 0) {
        RunSpd = other.RunSpd;
      }
      if (other.TransSpdScale != 0) {
        TransSpdScale = other.TransSpdScale;
      }
      if (other.WalkSpd != 0) {
        WalkSpd = other.WalkSpd;
      }
      if (other.MovAcc != 0) {
        MovAcc = other.MovAcc;
      }
      if (other.VisionRng != 0) {
        VisionRng = other.VisionRng;
      }
      if (other.VisionDeg != 0) {
        VisionDeg = other.VisionDeg;
      }
      if (other.HearRng != 0) {
        HearRng = other.HearRng;
      }
      if (other.RefRng != 0) {
        RefRng = other.RefRng;
      }
      if (other.ActRng != 0) {
        ActRng = other.ActRng;
      }
      if (other.DisActRng != 0) {
        DisActRng = other.DisActRng;
      }
      if (other.SearchRng != 0) {
        SearchRng = other.SearchRng;
      }
      if (other.RotSpd != 0) {
        RotSpd = other.RotSpd;
      }
      if (other.RotSpdInSkill != 0) {
        RotSpdInSkill = other.RotSpdInSkill;
      }
      if (other.Templete != 0) {
        Templete = other.Templete;
      }
      buffIds_.Add(other.buffIds_);
      if (other.SubType != 0) {
        SubType = other.SubType;
      }
      if (other.Faction != 0) {
        Faction = other.Faction;
      }
      trapTagIds_.Add(other.trapTagIds_);
      if (other.SupCharge != 0) {
        SupCharge = other.SupCharge;
      }
      if (other.IsShowRng != false) {
        IsShowRng = other.IsShowRng;
      }
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      if (other.ToughnessBrokenTime != 0) {
        ToughnessBrokenTime = other.ToughnessBrokenTime;
      }
      if (other.Tag1.Length != 0) {
        Tag1 = other.Tag1;
      }
      if (other.Tag2.Length != 0) {
        Tag2 = other.Tag2;
      }
      if (other.Tag3.Length != 0) {
        Tag3 = other.Tag3;
      }
      if (other.Tag4.Length != 0) {
        Tag4 = other.Tag4;
      }
      if (other.Tag5.Length != 0) {
        Tag5 = other.Tag5;
      }
      if (other.AttackHintType != 0) {
        AttackHintType = other.AttackHintType;
      }
      if (other.BlockPriority != 0) {
        BlockPriority = other.BlockPriority;
      }
      if (other.WayPointShift != 0) {
        WayPointShift = other.WayPointShift;
      }
      if (other.MonsterTeamId != 0) {
        MonsterTeamId = other.MonsterTeamId;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            FormalNameId = input.ReadInt32();
            break;
          }
          case 32: {
            EpicLv = input.ReadInt32();
            break;
          }
          case 40: {
            MonsterPosition = input.ReadInt32();
            break;
          }
          case 48: {
            BloodType = input.ReadInt32();
            break;
          }
          case 58: {
            Force = input.ReadString();
            break;
          }
          case 64: {
            FCId = input.ReadInt32();
            break;
          }
          case 72: {
            FAId = input.ReadInt32();
            break;
          }
          case 80: {
            MovType = input.ReadInt32();
            break;
          }
          case 88: {
            RunSpd = input.ReadInt32();
            break;
          }
          case 96: {
            TransSpdScale = input.ReadInt32();
            break;
          }
          case 104: {
            WalkSpd = input.ReadInt32();
            break;
          }
          case 112: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 120: {
            VisionRng = input.ReadInt32();
            break;
          }
          case 128: {
            VisionDeg = input.ReadInt32();
            break;
          }
          case 136: {
            HearRng = input.ReadInt32();
            break;
          }
          case 144: {
            RefRng = input.ReadInt32();
            break;
          }
          case 152: {
            ActRng = input.ReadInt32();
            break;
          }
          case 160: {
            DisActRng = input.ReadInt32();
            break;
          }
          case 168: {
            SearchRng = input.ReadInt32();
            break;
          }
          case 176: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 184: {
            RotSpdInSkill = input.ReadInt32();
            break;
          }
          case 192: {
            Templete = input.ReadInt32();
            break;
          }
          case 202:
          case 200: {
            buffIds_.AddEntriesFrom(input, _repeated_buffIds_codec);
            break;
          }
          case 208: {
            SubType = input.ReadInt32();
            break;
          }
          case 216: {
            Faction = input.ReadInt32();
            break;
          }
          case 226:
          case 224: {
            trapTagIds_.AddEntriesFrom(input, _repeated_trapTagIds_codec);
            break;
          }
          case 232: {
            SupCharge = input.ReadInt32();
            break;
          }
          case 240: {
            IsShowRng = input.ReadBool();
            break;
          }
          case 248: {
            Weight = input.ReadInt32();
            break;
          }
          case 256: {
            ToughnessBrokenTime = input.ReadInt32();
            break;
          }
          case 266: {
            Tag1 = input.ReadString();
            break;
          }
          case 274: {
            Tag2 = input.ReadString();
            break;
          }
          case 282: {
            Tag3 = input.ReadString();
            break;
          }
          case 290: {
            Tag4 = input.ReadString();
            break;
          }
          case 298: {
            Tag5 = input.ReadString();
            break;
          }
          case 304: {
            AttackHintType = input.ReadInt32();
            break;
          }
          case 312: {
            BlockPriority = input.ReadInt32();
            break;
          }
          case 320: {
            WayPointShift = input.ReadInt32();
            break;
          }
          case 328: {
            MonsterTeamId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            FormalNameId = input.ReadInt32();
            break;
          }
          case 32: {
            EpicLv = input.ReadInt32();
            break;
          }
          case 40: {
            MonsterPosition = input.ReadInt32();
            break;
          }
          case 48: {
            BloodType = input.ReadInt32();
            break;
          }
          case 58: {
            Force = input.ReadString();
            break;
          }
          case 64: {
            FCId = input.ReadInt32();
            break;
          }
          case 72: {
            FAId = input.ReadInt32();
            break;
          }
          case 80: {
            MovType = input.ReadInt32();
            break;
          }
          case 88: {
            RunSpd = input.ReadInt32();
            break;
          }
          case 96: {
            TransSpdScale = input.ReadInt32();
            break;
          }
          case 104: {
            WalkSpd = input.ReadInt32();
            break;
          }
          case 112: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 120: {
            VisionRng = input.ReadInt32();
            break;
          }
          case 128: {
            VisionDeg = input.ReadInt32();
            break;
          }
          case 136: {
            HearRng = input.ReadInt32();
            break;
          }
          case 144: {
            RefRng = input.ReadInt32();
            break;
          }
          case 152: {
            ActRng = input.ReadInt32();
            break;
          }
          case 160: {
            DisActRng = input.ReadInt32();
            break;
          }
          case 168: {
            SearchRng = input.ReadInt32();
            break;
          }
          case 176: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 184: {
            RotSpdInSkill = input.ReadInt32();
            break;
          }
          case 192: {
            Templete = input.ReadInt32();
            break;
          }
          case 202:
          case 200: {
            buffIds_.AddEntriesFrom(ref input, _repeated_buffIds_codec);
            break;
          }
          case 208: {
            SubType = input.ReadInt32();
            break;
          }
          case 216: {
            Faction = input.ReadInt32();
            break;
          }
          case 226:
          case 224: {
            trapTagIds_.AddEntriesFrom(ref input, _repeated_trapTagIds_codec);
            break;
          }
          case 232: {
            SupCharge = input.ReadInt32();
            break;
          }
          case 240: {
            IsShowRng = input.ReadBool();
            break;
          }
          case 248: {
            Weight = input.ReadInt32();
            break;
          }
          case 256: {
            ToughnessBrokenTime = input.ReadInt32();
            break;
          }
          case 266: {
            Tag1 = input.ReadString();
            break;
          }
          case 274: {
            Tag2 = input.ReadString();
            break;
          }
          case 282: {
            Tag3 = input.ReadString();
            break;
          }
          case 290: {
            Tag4 = input.ReadString();
            break;
          }
          case 298: {
            Tag5 = input.ReadString();
            break;
          }
          case 304: {
            AttackHintType = input.ReadInt32();
            break;
          }
          case 312: {
            BlockPriority = input.ReadInt32();
            break;
          }
          case 320: {
            WayPointShift = input.ReadInt32();
            break;
          }
          case 328: {
            MonsterTeamId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Monster : pb::IMessage<table_Monster>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Monster> _parser = new pb::MessageParser<table_Monster>(() => new table_Monster());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Monster> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[271]; }
    }

    [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 table_Monster() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Monster(table_Monster other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Monster Clone() {
      return new table_Monster(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Monster> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Monster.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Monster> list_ = new pbc::RepeatedField<global::Nova.Client.Monster>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Monster> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Monster);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Monster other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Monster other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterActionBranch : pb::IMessage<MonsterActionBranch>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterActionBranch> _parser = new pb::MessageParser<MonsterActionBranch>(() => new MonsterActionBranch());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterActionBranch> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[272]; }
    }

    [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 MonsterActionBranch() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterActionBranch(MonsterActionBranch other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      skillId_ = other.skillId_;
      priority_ = other.priority_;
      weight_ = other.weight_;
      rate_ = other.rate_;
      cD_ = other.cD_;
      initialCDPool_ = other.initialCDPool_.Clone();
      minInitialCD_ = other.minInitialCD_;
      maxInitialCD_ = other.maxInitialCD_;
      startCDTime_ = other.startCDTime_;
      fixedCD_ = other.fixedCD_;
      releaseDistance_ = other.releaseDistance_;
      releaseAngle_ = other.releaseAngle_;
      traceDuration_ = other.traceDuration_;
      activate_ = other.activate_;
      activeConditionType1_ = other.activeConditionType1_;
      activeParam1_ = other.activeParam1_;
      activeParam2_ = other.activeParam2_;
      deActiveConditionType1_ = other.deActiveConditionType1_;
      deActiveParam1_ = other.deActiveParam1_;
      deActiveParam2_ = other.deActiveParam2_;
      followEventType1_ = other.followEventType1_;
      followEventParam1_ = other.followEventParam1_;
      followEventType2_ = other.followEventType2_;
      followEventParam2_ = other.followEventParam2_;
      followEventType3_ = other.followEventType3_;
      followEventParam3_ = other.followEventParam3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterActionBranch Clone() {
      return new MonsterActionBranch(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "SkillId" field.</summary>
    public const int SkillIdFieldNumber = 3;
    private int skillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillId {
      get { return skillId_; }
      set {
        skillId_ = value;
      }
    }

    /// <summary>Field number for the "Priority" field.</summary>
    public const int PriorityFieldNumber = 4;
    private int priority_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Priority {
      get { return priority_; }
      set {
        priority_ = value;
      }
    }

    /// <summary>Field number for the "Weight" field.</summary>
    public const int WeightFieldNumber = 5;
    private int weight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Weight {
      get { return weight_; }
      set {
        weight_ = value;
      }
    }

    /// <summary>Field number for the "Rate" field.</summary>
    public const int RateFieldNumber = 6;
    private int rate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rate {
      get { return rate_; }
      set {
        rate_ = value;
      }
    }

    /// <summary>Field number for the "CD" field.</summary>
    public const int CDFieldNumber = 7;
    private int cD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CD {
      get { return cD_; }
      set {
        cD_ = value;
      }
    }

    /// <summary>Field number for the "InitialCDPool" field.</summary>
    public const int InitialCDPoolFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_initialCDPool_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> initialCDPool_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> InitialCDPool {
      get { return initialCDPool_; }
    }

    /// <summary>Field number for the "MinInitialCD" field.</summary>
    public const int MinInitialCDFieldNumber = 9;
    private int minInitialCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MinInitialCD {
      get { return minInitialCD_; }
      set {
        minInitialCD_ = value;
      }
    }

    /// <summary>Field number for the "MaxInitialCD" field.</summary>
    public const int MaxInitialCDFieldNumber = 10;
    private int maxInitialCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxInitialCD {
      get { return maxInitialCD_; }
      set {
        maxInitialCD_ = value;
      }
    }

    /// <summary>Field number for the "StartCDTime" field.</summary>
    public const int StartCDTimeFieldNumber = 11;
    private int startCDTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StartCDTime {
      get { return startCDTime_; }
      set {
        startCDTime_ = value;
      }
    }

    /// <summary>Field number for the "FixedCD" field.</summary>
    public const int FixedCDFieldNumber = 12;
    private bool fixedCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool FixedCD {
      get { return fixedCD_; }
      set {
        fixedCD_ = value;
      }
    }

    /// <summary>Field number for the "ReleaseDistance" field.</summary>
    public const int ReleaseDistanceFieldNumber = 13;
    private int releaseDistance_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ReleaseDistance {
      get { return releaseDistance_; }
      set {
        releaseDistance_ = value;
      }
    }

    /// <summary>Field number for the "ReleaseAngle" field.</summary>
    public const int ReleaseAngleFieldNumber = 14;
    private int releaseAngle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ReleaseAngle {
      get { return releaseAngle_; }
      set {
        releaseAngle_ = value;
      }
    }

    /// <summary>Field number for the "TraceDuration" field.</summary>
    public const int TraceDurationFieldNumber = 15;
    private int traceDuration_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TraceDuration {
      get { return traceDuration_; }
      set {
        traceDuration_ = value;
      }
    }

    /// <summary>Field number for the "Activate" field.</summary>
    public const int ActivateFieldNumber = 16;
    private bool activate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Activate {
      get { return activate_; }
      set {
        activate_ = value;
      }
    }

    /// <summary>Field number for the "ActiveConditionType1" field.</summary>
    public const int ActiveConditionType1FieldNumber = 17;
    private int activeConditionType1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ActiveConditionType1 {
      get { return activeConditionType1_; }
      set {
        activeConditionType1_ = value;
      }
    }

    /// <summary>Field number for the "ActiveParam1" field.</summary>
    public const int ActiveParam1FieldNumber = 18;
    private string activeParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveParam1 {
      get { return activeParam1_; }
      set {
        activeParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ActiveParam2" field.</summary>
    public const int ActiveParam2FieldNumber = 19;
    private string activeParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveParam2 {
      get { return activeParam2_; }
      set {
        activeParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DeActiveConditionType1" field.</summary>
    public const int DeActiveConditionType1FieldNumber = 20;
    private int deActiveConditionType1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DeActiveConditionType1 {
      get { return deActiveConditionType1_; }
      set {
        deActiveConditionType1_ = value;
      }
    }

    /// <summary>Field number for the "DeActiveParam1" field.</summary>
    public const int DeActiveParam1FieldNumber = 21;
    private string deActiveParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeActiveParam1 {
      get { return deActiveParam1_; }
      set {
        deActiveParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DeActiveParam2" field.</summary>
    public const int DeActiveParam2FieldNumber = 22;
    private string deActiveParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DeActiveParam2 {
      get { return deActiveParam2_; }
      set {
        deActiveParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FollowEventType1" field.</summary>
    public const int FollowEventType1FieldNumber = 23;
    private int followEventType1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FollowEventType1 {
      get { return followEventType1_; }
      set {
        followEventType1_ = value;
      }
    }

    /// <summary>Field number for the "FollowEventParam1" field.</summary>
    public const int FollowEventParam1FieldNumber = 24;
    private string followEventParam1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FollowEventParam1 {
      get { return followEventParam1_; }
      set {
        followEventParam1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FollowEventType2" field.</summary>
    public const int FollowEventType2FieldNumber = 25;
    private int followEventType2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FollowEventType2 {
      get { return followEventType2_; }
      set {
        followEventType2_ = value;
      }
    }

    /// <summary>Field number for the "FollowEventParam2" field.</summary>
    public const int FollowEventParam2FieldNumber = 26;
    private string followEventParam2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FollowEventParam2 {
      get { return followEventParam2_; }
      set {
        followEventParam2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FollowEventType3" field.</summary>
    public const int FollowEventType3FieldNumber = 27;
    private int followEventType3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FollowEventType3 {
      get { return followEventType3_; }
      set {
        followEventType3_ = value;
      }
    }

    /// <summary>Field number for the "FollowEventParam3" field.</summary>
    public const int FollowEventParam3FieldNumber = 28;
    private string followEventParam3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FollowEventParam3 {
      get { return followEventParam3_; }
      set {
        followEventParam3_ = 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 MonsterActionBranch);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterActionBranch other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (SkillId != other.SkillId) return false;
      if (Priority != other.Priority) return false;
      if (Weight != other.Weight) return false;
      if (Rate != other.Rate) return false;
      if (CD != other.CD) return false;
      if(!initialCDPool_.Equals(other.initialCDPool_)) return false;
      if (MinInitialCD != other.MinInitialCD) return false;
      if (MaxInitialCD != other.MaxInitialCD) return false;
      if (StartCDTime != other.StartCDTime) return false;
      if (FixedCD != other.FixedCD) return false;
      if (ReleaseDistance != other.ReleaseDistance) return false;
      if (ReleaseAngle != other.ReleaseAngle) return false;
      if (TraceDuration != other.TraceDuration) return false;
      if (Activate != other.Activate) return false;
      if (ActiveConditionType1 != other.ActiveConditionType1) return false;
      if (ActiveParam1 != other.ActiveParam1) return false;
      if (ActiveParam2 != other.ActiveParam2) return false;
      if (DeActiveConditionType1 != other.DeActiveConditionType1) return false;
      if (DeActiveParam1 != other.DeActiveParam1) return false;
      if (DeActiveParam2 != other.DeActiveParam2) return false;
      if (FollowEventType1 != other.FollowEventType1) return false;
      if (FollowEventParam1 != other.FollowEventParam1) return false;
      if (FollowEventType2 != other.FollowEventType2) return false;
      if (FollowEventParam2 != other.FollowEventParam2) return false;
      if (FollowEventType3 != other.FollowEventType3) return false;
      if (FollowEventParam3 != other.FollowEventParam3) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (SkillId != 0) hash ^= SkillId.GetHashCode();
      if (Priority != 0) hash ^= Priority.GetHashCode();
      if (Weight != 0) hash ^= Weight.GetHashCode();
      if (Rate != 0) hash ^= Rate.GetHashCode();
      if (CD != 0) hash ^= CD.GetHashCode();
      hash ^= initialCDPool_.GetHashCode();
      if (MinInitialCD != 0) hash ^= MinInitialCD.GetHashCode();
      if (MaxInitialCD != 0) hash ^= MaxInitialCD.GetHashCode();
      if (StartCDTime != 0) hash ^= StartCDTime.GetHashCode();
      if (FixedCD != false) hash ^= FixedCD.GetHashCode();
      if (ReleaseDistance != 0) hash ^= ReleaseDistance.GetHashCode();
      if (ReleaseAngle != 0) hash ^= ReleaseAngle.GetHashCode();
      if (TraceDuration != 0) hash ^= TraceDuration.GetHashCode();
      if (Activate != false) hash ^= Activate.GetHashCode();
      if (ActiveConditionType1 != 0) hash ^= ActiveConditionType1.GetHashCode();
      if (ActiveParam1.Length != 0) hash ^= ActiveParam1.GetHashCode();
      if (ActiveParam2.Length != 0) hash ^= ActiveParam2.GetHashCode();
      if (DeActiveConditionType1 != 0) hash ^= DeActiveConditionType1.GetHashCode();
      if (DeActiveParam1.Length != 0) hash ^= DeActiveParam1.GetHashCode();
      if (DeActiveParam2.Length != 0) hash ^= DeActiveParam2.GetHashCode();
      if (FollowEventType1 != 0) hash ^= FollowEventType1.GetHashCode();
      if (FollowEventParam1.Length != 0) hash ^= FollowEventParam1.GetHashCode();
      if (FollowEventType2 != 0) hash ^= FollowEventType2.GetHashCode();
      if (FollowEventParam2.Length != 0) hash ^= FollowEventParam2.GetHashCode();
      if (FollowEventType3 != 0) hash ^= FollowEventType3.GetHashCode();
      if (FollowEventParam3.Length != 0) hash ^= FollowEventParam3.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (SkillId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SkillId);
      }
      if (Priority != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Priority);
      }
      if (Weight != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Weight);
      }
      if (Rate != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Rate);
      }
      if (CD != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(CD);
      }
      initialCDPool_.WriteTo(output, _repeated_initialCDPool_codec);
      if (MinInitialCD != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(MinInitialCD);
      }
      if (MaxInitialCD != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(MaxInitialCD);
      }
      if (StartCDTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(StartCDTime);
      }
      if (FixedCD != false) {
        output.WriteRawTag(96);
        output.WriteBool(FixedCD);
      }
      if (ReleaseDistance != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ReleaseDistance);
      }
      if (ReleaseAngle != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ReleaseAngle);
      }
      if (TraceDuration != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TraceDuration);
      }
      if (Activate != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(Activate);
      }
      if (ActiveConditionType1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ActiveConditionType1);
      }
      if (ActiveParam1.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(ActiveParam1);
      }
      if (ActiveParam2.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(ActiveParam2);
      }
      if (DeActiveConditionType1 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DeActiveConditionType1);
      }
      if (DeActiveParam1.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(DeActiveParam1);
      }
      if (DeActiveParam2.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(DeActiveParam2);
      }
      if (FollowEventType1 != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(FollowEventType1);
      }
      if (FollowEventParam1.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(FollowEventParam1);
      }
      if (FollowEventType2 != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(FollowEventType2);
      }
      if (FollowEventParam2.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(FollowEventParam2);
      }
      if (FollowEventType3 != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(FollowEventType3);
      }
      if (FollowEventParam3.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(FollowEventParam3);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (SkillId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SkillId);
      }
      if (Priority != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Priority);
      }
      if (Weight != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Weight);
      }
      if (Rate != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Rate);
      }
      if (CD != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(CD);
      }
      initialCDPool_.WriteTo(ref output, _repeated_initialCDPool_codec);
      if (MinInitialCD != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(MinInitialCD);
      }
      if (MaxInitialCD != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(MaxInitialCD);
      }
      if (StartCDTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(StartCDTime);
      }
      if (FixedCD != false) {
        output.WriteRawTag(96);
        output.WriteBool(FixedCD);
      }
      if (ReleaseDistance != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ReleaseDistance);
      }
      if (ReleaseAngle != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ReleaseAngle);
      }
      if (TraceDuration != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TraceDuration);
      }
      if (Activate != false) {
        output.WriteRawTag(128, 1);
        output.WriteBool(Activate);
      }
      if (ActiveConditionType1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ActiveConditionType1);
      }
      if (ActiveParam1.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(ActiveParam1);
      }
      if (ActiveParam2.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(ActiveParam2);
      }
      if (DeActiveConditionType1 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DeActiveConditionType1);
      }
      if (DeActiveParam1.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(DeActiveParam1);
      }
      if (DeActiveParam2.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(DeActiveParam2);
      }
      if (FollowEventType1 != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(FollowEventType1);
      }
      if (FollowEventParam1.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(FollowEventParam1);
      }
      if (FollowEventType2 != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(FollowEventType2);
      }
      if (FollowEventParam2.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(FollowEventParam2);
      }
      if (FollowEventType3 != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(FollowEventType3);
      }
      if (FollowEventParam3.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(FollowEventParam3);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (SkillId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillId);
      }
      if (Priority != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priority);
      }
      if (Weight != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      if (Rate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rate);
      }
      if (CD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CD);
      }
      size += initialCDPool_.CalculateSize(_repeated_initialCDPool_codec);
      if (MinInitialCD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MinInitialCD);
      }
      if (MaxInitialCD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxInitialCD);
      }
      if (StartCDTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StartCDTime);
      }
      if (FixedCD != false) {
        size += 1 + 1;
      }
      if (ReleaseDistance != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReleaseDistance);
      }
      if (ReleaseAngle != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReleaseAngle);
      }
      if (TraceDuration != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TraceDuration);
      }
      if (Activate != false) {
        size += 2 + 1;
      }
      if (ActiveConditionType1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ActiveConditionType1);
      }
      if (ActiveParam1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ActiveParam1);
      }
      if (ActiveParam2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ActiveParam2);
      }
      if (DeActiveConditionType1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DeActiveConditionType1);
      }
      if (DeActiveParam1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(DeActiveParam1);
      }
      if (DeActiveParam2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(DeActiveParam2);
      }
      if (FollowEventType1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FollowEventType1);
      }
      if (FollowEventParam1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FollowEventParam1);
      }
      if (FollowEventType2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FollowEventType2);
      }
      if (FollowEventParam2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FollowEventParam2);
      }
      if (FollowEventType3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FollowEventType3);
      }
      if (FollowEventParam3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FollowEventParam3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterActionBranch other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.SkillId != 0) {
        SkillId = other.SkillId;
      }
      if (other.Priority != 0) {
        Priority = other.Priority;
      }
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      if (other.Rate != 0) {
        Rate = other.Rate;
      }
      if (other.CD != 0) {
        CD = other.CD;
      }
      initialCDPool_.Add(other.initialCDPool_);
      if (other.MinInitialCD != 0) {
        MinInitialCD = other.MinInitialCD;
      }
      if (other.MaxInitialCD != 0) {
        MaxInitialCD = other.MaxInitialCD;
      }
      if (other.StartCDTime != 0) {
        StartCDTime = other.StartCDTime;
      }
      if (other.FixedCD != false) {
        FixedCD = other.FixedCD;
      }
      if (other.ReleaseDistance != 0) {
        ReleaseDistance = other.ReleaseDistance;
      }
      if (other.ReleaseAngle != 0) {
        ReleaseAngle = other.ReleaseAngle;
      }
      if (other.TraceDuration != 0) {
        TraceDuration = other.TraceDuration;
      }
      if (other.Activate != false) {
        Activate = other.Activate;
      }
      if (other.ActiveConditionType1 != 0) {
        ActiveConditionType1 = other.ActiveConditionType1;
      }
      if (other.ActiveParam1.Length != 0) {
        ActiveParam1 = other.ActiveParam1;
      }
      if (other.ActiveParam2.Length != 0) {
        ActiveParam2 = other.ActiveParam2;
      }
      if (other.DeActiveConditionType1 != 0) {
        DeActiveConditionType1 = other.DeActiveConditionType1;
      }
      if (other.DeActiveParam1.Length != 0) {
        DeActiveParam1 = other.DeActiveParam1;
      }
      if (other.DeActiveParam2.Length != 0) {
        DeActiveParam2 = other.DeActiveParam2;
      }
      if (other.FollowEventType1 != 0) {
        FollowEventType1 = other.FollowEventType1;
      }
      if (other.FollowEventParam1.Length != 0) {
        FollowEventParam1 = other.FollowEventParam1;
      }
      if (other.FollowEventType2 != 0) {
        FollowEventType2 = other.FollowEventType2;
      }
      if (other.FollowEventParam2.Length != 0) {
        FollowEventParam2 = other.FollowEventParam2;
      }
      if (other.FollowEventType3 != 0) {
        FollowEventType3 = other.FollowEventType3;
      }
      if (other.FollowEventParam3.Length != 0) {
        FollowEventParam3 = other.FollowEventParam3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            SkillId = input.ReadInt32();
            break;
          }
          case 32: {
            Priority = input.ReadInt32();
            break;
          }
          case 40: {
            Weight = input.ReadInt32();
            break;
          }
          case 48: {
            Rate = input.ReadInt32();
            break;
          }
          case 56: {
            CD = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            initialCDPool_.AddEntriesFrom(input, _repeated_initialCDPool_codec);
            break;
          }
          case 72: {
            MinInitialCD = input.ReadInt32();
            break;
          }
          case 80: {
            MaxInitialCD = input.ReadInt32();
            break;
          }
          case 88: {
            StartCDTime = input.ReadInt32();
            break;
          }
          case 96: {
            FixedCD = input.ReadBool();
            break;
          }
          case 104: {
            ReleaseDistance = input.ReadInt32();
            break;
          }
          case 112: {
            ReleaseAngle = input.ReadInt32();
            break;
          }
          case 120: {
            TraceDuration = input.ReadInt32();
            break;
          }
          case 128: {
            Activate = input.ReadBool();
            break;
          }
          case 136: {
            ActiveConditionType1 = input.ReadInt32();
            break;
          }
          case 146: {
            ActiveParam1 = input.ReadString();
            break;
          }
          case 154: {
            ActiveParam2 = input.ReadString();
            break;
          }
          case 160: {
            DeActiveConditionType1 = input.ReadInt32();
            break;
          }
          case 170: {
            DeActiveParam1 = input.ReadString();
            break;
          }
          case 178: {
            DeActiveParam2 = input.ReadString();
            break;
          }
          case 184: {
            FollowEventType1 = input.ReadInt32();
            break;
          }
          case 194: {
            FollowEventParam1 = input.ReadString();
            break;
          }
          case 200: {
            FollowEventType2 = input.ReadInt32();
            break;
          }
          case 210: {
            FollowEventParam2 = input.ReadString();
            break;
          }
          case 216: {
            FollowEventType3 = input.ReadInt32();
            break;
          }
          case 226: {
            FollowEventParam3 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            SkillId = input.ReadInt32();
            break;
          }
          case 32: {
            Priority = input.ReadInt32();
            break;
          }
          case 40: {
            Weight = input.ReadInt32();
            break;
          }
          case 48: {
            Rate = input.ReadInt32();
            break;
          }
          case 56: {
            CD = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            initialCDPool_.AddEntriesFrom(ref input, _repeated_initialCDPool_codec);
            break;
          }
          case 72: {
            MinInitialCD = input.ReadInt32();
            break;
          }
          case 80: {
            MaxInitialCD = input.ReadInt32();
            break;
          }
          case 88: {
            StartCDTime = input.ReadInt32();
            break;
          }
          case 96: {
            FixedCD = input.ReadBool();
            break;
          }
          case 104: {
            ReleaseDistance = input.ReadInt32();
            break;
          }
          case 112: {
            ReleaseAngle = input.ReadInt32();
            break;
          }
          case 120: {
            TraceDuration = input.ReadInt32();
            break;
          }
          case 128: {
            Activate = input.ReadBool();
            break;
          }
          case 136: {
            ActiveConditionType1 = input.ReadInt32();
            break;
          }
          case 146: {
            ActiveParam1 = input.ReadString();
            break;
          }
          case 154: {
            ActiveParam2 = input.ReadString();
            break;
          }
          case 160: {
            DeActiveConditionType1 = input.ReadInt32();
            break;
          }
          case 170: {
            DeActiveParam1 = input.ReadString();
            break;
          }
          case 178: {
            DeActiveParam2 = input.ReadString();
            break;
          }
          case 184: {
            FollowEventType1 = input.ReadInt32();
            break;
          }
          case 194: {
            FollowEventParam1 = input.ReadString();
            break;
          }
          case 200: {
            FollowEventType2 = input.ReadInt32();
            break;
          }
          case 210: {
            FollowEventParam2 = input.ReadString();
            break;
          }
          case 216: {
            FollowEventType3 = input.ReadInt32();
            break;
          }
          case 226: {
            FollowEventParam3 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterActionBranch : pb::IMessage<table_MonsterActionBranch>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterActionBranch> _parser = new pb::MessageParser<table_MonsterActionBranch>(() => new table_MonsterActionBranch());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterActionBranch> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[273]; }
    }

    [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 table_MonsterActionBranch() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterActionBranch(table_MonsterActionBranch other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterActionBranch Clone() {
      return new table_MonsterActionBranch(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterActionBranch> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterActionBranch.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterActionBranch> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterActionBranch>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterActionBranch> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterActionBranch);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterActionBranch other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterActionBranch other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterAI : pb::IMessage<MonsterAI>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterAI> _parser = new pb::MessageParser<MonsterAI>(() => new MonsterAI());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterAI> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[274]; }
    }

    [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 MonsterAI() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterAI(MonsterAI other) : this() {
      id_ = other.id_;
      comboGroupPath_ = other.comboGroupPath_;
      spawnShowSkillId_ = other.spawnShowSkillId_;
      idleShowSkillId_ = other.idleShowSkillId_;
      dieSkillId_ = other.dieSkillId_;
      actionAIPath_ = other.actionAIPath_;
      actionBranchIds_ = other.actionBranchIds_.Clone();
      thinkInterval_ = other.thinkInterval_;
      idleAIPath_ = other.idleAIPath_;
      spawnAIPath_ = other.spawnAIPath_;
      parallelAIPath_ = other.parallelAIPath_;
      checkAchievement_ = other.checkAchievement_;
      wanderRange_ = other.wanderRange_;
      wanderInterval_ = other.wanderInterval_;
      wanderRate_ = other.wanderRate_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterAI Clone() {
      return new MonsterAI(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ComboGroupPath" field.</summary>
    public const int ComboGroupPathFieldNumber = 2;
    private string comboGroupPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ComboGroupPath {
      get { return comboGroupPath_; }
      set {
        comboGroupPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SpawnShowSkillId" field.</summary>
    public const int SpawnShowSkillIdFieldNumber = 3;
    private int spawnShowSkillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SpawnShowSkillId {
      get { return spawnShowSkillId_; }
      set {
        spawnShowSkillId_ = value;
      }
    }

    /// <summary>Field number for the "IdleShowSkillId" field.</summary>
    public const int IdleShowSkillIdFieldNumber = 4;
    private int idleShowSkillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IdleShowSkillId {
      get { return idleShowSkillId_; }
      set {
        idleShowSkillId_ = value;
      }
    }

    /// <summary>Field number for the "DieSkillId" field.</summary>
    public const int DieSkillIdFieldNumber = 5;
    private int dieSkillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DieSkillId {
      get { return dieSkillId_; }
      set {
        dieSkillId_ = value;
      }
    }

    /// <summary>Field number for the "ActionAIPath" field.</summary>
    public const int ActionAIPathFieldNumber = 6;
    private string actionAIPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActionAIPath {
      get { return actionAIPath_; }
      set {
        actionAIPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ActionBranchIds" field.</summary>
    public const int ActionBranchIdsFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_actionBranchIds_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> actionBranchIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ActionBranchIds {
      get { return actionBranchIds_; }
    }

    /// <summary>Field number for the "ThinkInterval" field.</summary>
    public const int ThinkIntervalFieldNumber = 8;
    private int thinkInterval_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThinkInterval {
      get { return thinkInterval_; }
      set {
        thinkInterval_ = value;
      }
    }

    /// <summary>Field number for the "IdleAIPath" field.</summary>
    public const int IdleAIPathFieldNumber = 9;
    private string idleAIPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IdleAIPath {
      get { return idleAIPath_; }
      set {
        idleAIPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SpawnAIPath" field.</summary>
    public const int SpawnAIPathFieldNumber = 10;
    private string spawnAIPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SpawnAIPath {
      get { return spawnAIPath_; }
      set {
        spawnAIPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ParallelAIPath" field.</summary>
    public const int ParallelAIPathFieldNumber = 11;
    private string parallelAIPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ParallelAIPath {
      get { return parallelAIPath_; }
      set {
        parallelAIPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CheckAchievement" field.</summary>
    public const int CheckAchievementFieldNumber = 12;
    private bool checkAchievement_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool CheckAchievement {
      get { return checkAchievement_; }
      set {
        checkAchievement_ = value;
      }
    }

    /// <summary>Field number for the "WanderRange" field.</summary>
    public const int WanderRangeFieldNumber = 13;
    private int wanderRange_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WanderRange {
      get { return wanderRange_; }
      set {
        wanderRange_ = value;
      }
    }

    /// <summary>Field number for the "WanderInterval" field.</summary>
    public const int WanderIntervalFieldNumber = 14;
    private int wanderInterval_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WanderInterval {
      get { return wanderInterval_; }
      set {
        wanderInterval_ = value;
      }
    }

    /// <summary>Field number for the "WanderRate" field.</summary>
    public const int WanderRateFieldNumber = 15;
    private int wanderRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WanderRate {
      get { return wanderRate_; }
      set {
        wanderRate_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MonsterAI);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterAI other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ComboGroupPath != other.ComboGroupPath) return false;
      if (SpawnShowSkillId != other.SpawnShowSkillId) return false;
      if (IdleShowSkillId != other.IdleShowSkillId) return false;
      if (DieSkillId != other.DieSkillId) return false;
      if (ActionAIPath != other.ActionAIPath) return false;
      if(!actionBranchIds_.Equals(other.actionBranchIds_)) return false;
      if (ThinkInterval != other.ThinkInterval) return false;
      if (IdleAIPath != other.IdleAIPath) return false;
      if (SpawnAIPath != other.SpawnAIPath) return false;
      if (ParallelAIPath != other.ParallelAIPath) return false;
      if (CheckAchievement != other.CheckAchievement) return false;
      if (WanderRange != other.WanderRange) return false;
      if (WanderInterval != other.WanderInterval) return false;
      if (WanderRate != other.WanderRate) 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 (ComboGroupPath.Length != 0) hash ^= ComboGroupPath.GetHashCode();
      if (SpawnShowSkillId != 0) hash ^= SpawnShowSkillId.GetHashCode();
      if (IdleShowSkillId != 0) hash ^= IdleShowSkillId.GetHashCode();
      if (DieSkillId != 0) hash ^= DieSkillId.GetHashCode();
      if (ActionAIPath.Length != 0) hash ^= ActionAIPath.GetHashCode();
      hash ^= actionBranchIds_.GetHashCode();
      if (ThinkInterval != 0) hash ^= ThinkInterval.GetHashCode();
      if (IdleAIPath.Length != 0) hash ^= IdleAIPath.GetHashCode();
      if (SpawnAIPath.Length != 0) hash ^= SpawnAIPath.GetHashCode();
      if (ParallelAIPath.Length != 0) hash ^= ParallelAIPath.GetHashCode();
      if (CheckAchievement != false) hash ^= CheckAchievement.GetHashCode();
      if (WanderRange != 0) hash ^= WanderRange.GetHashCode();
      if (WanderInterval != 0) hash ^= WanderInterval.GetHashCode();
      if (WanderRate != 0) hash ^= WanderRate.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.WriteInt32(Id);
      }
      if (ComboGroupPath.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ComboGroupPath);
      }
      if (SpawnShowSkillId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SpawnShowSkillId);
      }
      if (IdleShowSkillId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(IdleShowSkillId);
      }
      if (DieSkillId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DieSkillId);
      }
      if (ActionAIPath.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ActionAIPath);
      }
      actionBranchIds_.WriteTo(output, _repeated_actionBranchIds_codec);
      if (ThinkInterval != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ThinkInterval);
      }
      if (IdleAIPath.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(IdleAIPath);
      }
      if (SpawnAIPath.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(SpawnAIPath);
      }
      if (ParallelAIPath.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(ParallelAIPath);
      }
      if (CheckAchievement != false) {
        output.WriteRawTag(96);
        output.WriteBool(CheckAchievement);
      }
      if (WanderRange != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(WanderRange);
      }
      if (WanderInterval != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(WanderInterval);
      }
      if (WanderRate != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(WanderRate);
      }
      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.WriteInt32(Id);
      }
      if (ComboGroupPath.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ComboGroupPath);
      }
      if (SpawnShowSkillId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SpawnShowSkillId);
      }
      if (IdleShowSkillId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(IdleShowSkillId);
      }
      if (DieSkillId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DieSkillId);
      }
      if (ActionAIPath.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(ActionAIPath);
      }
      actionBranchIds_.WriteTo(ref output, _repeated_actionBranchIds_codec);
      if (ThinkInterval != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ThinkInterval);
      }
      if (IdleAIPath.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(IdleAIPath);
      }
      if (SpawnAIPath.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(SpawnAIPath);
      }
      if (ParallelAIPath.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(ParallelAIPath);
      }
      if (CheckAchievement != false) {
        output.WriteRawTag(96);
        output.WriteBool(CheckAchievement);
      }
      if (WanderRange != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(WanderRange);
      }
      if (WanderInterval != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(WanderInterval);
      }
      if (WanderRate != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(WanderRate);
      }
      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.ComputeInt32Size(Id);
      }
      if (ComboGroupPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ComboGroupPath);
      }
      if (SpawnShowSkillId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpawnShowSkillId);
      }
      if (IdleShowSkillId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(IdleShowSkillId);
      }
      if (DieSkillId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DieSkillId);
      }
      if (ActionAIPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ActionAIPath);
      }
      size += actionBranchIds_.CalculateSize(_repeated_actionBranchIds_codec);
      if (ThinkInterval != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ThinkInterval);
      }
      if (IdleAIPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IdleAIPath);
      }
      if (SpawnAIPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SpawnAIPath);
      }
      if (ParallelAIPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ParallelAIPath);
      }
      if (CheckAchievement != false) {
        size += 1 + 1;
      }
      if (WanderRange != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WanderRange);
      }
      if (WanderInterval != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WanderInterval);
      }
      if (WanderRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WanderRate);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterAI other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ComboGroupPath.Length != 0) {
        ComboGroupPath = other.ComboGroupPath;
      }
      if (other.SpawnShowSkillId != 0) {
        SpawnShowSkillId = other.SpawnShowSkillId;
      }
      if (other.IdleShowSkillId != 0) {
        IdleShowSkillId = other.IdleShowSkillId;
      }
      if (other.DieSkillId != 0) {
        DieSkillId = other.DieSkillId;
      }
      if (other.ActionAIPath.Length != 0) {
        ActionAIPath = other.ActionAIPath;
      }
      actionBranchIds_.Add(other.actionBranchIds_);
      if (other.ThinkInterval != 0) {
        ThinkInterval = other.ThinkInterval;
      }
      if (other.IdleAIPath.Length != 0) {
        IdleAIPath = other.IdleAIPath;
      }
      if (other.SpawnAIPath.Length != 0) {
        SpawnAIPath = other.SpawnAIPath;
      }
      if (other.ParallelAIPath.Length != 0) {
        ParallelAIPath = other.ParallelAIPath;
      }
      if (other.CheckAchievement != false) {
        CheckAchievement = other.CheckAchievement;
      }
      if (other.WanderRange != 0) {
        WanderRange = other.WanderRange;
      }
      if (other.WanderInterval != 0) {
        WanderInterval = other.WanderInterval;
      }
      if (other.WanderRate != 0) {
        WanderRate = other.WanderRate;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            ComboGroupPath = input.ReadString();
            break;
          }
          case 24: {
            SpawnShowSkillId = input.ReadInt32();
            break;
          }
          case 32: {
            IdleShowSkillId = input.ReadInt32();
            break;
          }
          case 40: {
            DieSkillId = input.ReadInt32();
            break;
          }
          case 50: {
            ActionAIPath = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            actionBranchIds_.AddEntriesFrom(input, _repeated_actionBranchIds_codec);
            break;
          }
          case 64: {
            ThinkInterval = input.ReadInt32();
            break;
          }
          case 74: {
            IdleAIPath = input.ReadString();
            break;
          }
          case 82: {
            SpawnAIPath = input.ReadString();
            break;
          }
          case 90: {
            ParallelAIPath = input.ReadString();
            break;
          }
          case 96: {
            CheckAchievement = input.ReadBool();
            break;
          }
          case 104: {
            WanderRange = input.ReadInt32();
            break;
          }
          case 112: {
            WanderInterval = input.ReadInt32();
            break;
          }
          case 120: {
            WanderRate = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            ComboGroupPath = input.ReadString();
            break;
          }
          case 24: {
            SpawnShowSkillId = input.ReadInt32();
            break;
          }
          case 32: {
            IdleShowSkillId = input.ReadInt32();
            break;
          }
          case 40: {
            DieSkillId = input.ReadInt32();
            break;
          }
          case 50: {
            ActionAIPath = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            actionBranchIds_.AddEntriesFrom(ref input, _repeated_actionBranchIds_codec);
            break;
          }
          case 64: {
            ThinkInterval = input.ReadInt32();
            break;
          }
          case 74: {
            IdleAIPath = input.ReadString();
            break;
          }
          case 82: {
            SpawnAIPath = input.ReadString();
            break;
          }
          case 90: {
            ParallelAIPath = input.ReadString();
            break;
          }
          case 96: {
            CheckAchievement = input.ReadBool();
            break;
          }
          case 104: {
            WanderRange = input.ReadInt32();
            break;
          }
          case 112: {
            WanderInterval = input.ReadInt32();
            break;
          }
          case 120: {
            WanderRate = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterAI : pb::IMessage<table_MonsterAI>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterAI> _parser = new pb::MessageParser<table_MonsterAI>(() => new table_MonsterAI());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterAI> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[275]; }
    }

    [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 table_MonsterAI() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterAI(table_MonsterAI other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterAI Clone() {
      return new table_MonsterAI(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterAI> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterAI.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterAI> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterAI>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterAI> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterAI);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterAI other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterAI other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterBornGroup : pb::IMessage<MonsterBornGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterBornGroup> _parser = new pb::MessageParser<MonsterBornGroup>(() => new MonsterBornGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterBornGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[276]; }
    }

    [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 MonsterBornGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterBornGroup(MonsterBornGroup other) : this() {
      groupId_ = other.groupId_;
      monsterId_ = other.monsterId_;
      difficulty_ = other.difficulty_;
      minFloor_ = other.minFloor_;
      maxFloor_ = other.maxFloor_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterBornGroup Clone() {
      return new MonsterBornGroup(this);
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 1;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "MonsterId" field.</summary>
    public const int MonsterIdFieldNumber = 2;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 3;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "MinFloor" field.</summary>
    public const int MinFloorFieldNumber = 4;
    private int minFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MinFloor {
      get { return minFloor_; }
      set {
        minFloor_ = value;
      }
    }

    /// <summary>Field number for the "MaxFloor" field.</summary>
    public const int MaxFloorFieldNumber = 5;
    private int maxFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxFloor {
      get { return maxFloor_; }
      set {
        maxFloor_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MonsterBornGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterBornGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (GroupId != other.GroupId) return false;
      if (MonsterId != other.MonsterId) return false;
      if (Difficulty != other.Difficulty) return false;
      if (MinFloor != other.MinFloor) return false;
      if (MaxFloor != other.MaxFloor) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (MinFloor != 0) hash ^= MinFloor.GetHashCode();
      if (MaxFloor != 0) hash ^= MaxFloor.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 (GroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GroupId);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (MinFloor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MinFloor);
      }
      if (MaxFloor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MaxFloor);
      }
      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 (GroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GroupId);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (MinFloor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MinFloor);
      }
      if (MaxFloor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MaxFloor);
      }
      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 (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (MinFloor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MinFloor);
      }
      if (MaxFloor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxFloor);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterBornGroup other) {
      if (other == null) {
        return;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.MinFloor != 0) {
        MinFloor = other.MinFloor;
      }
      if (other.MaxFloor != 0) {
        MaxFloor = other.MaxFloor;
      }
      _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: {
            GroupId = input.ReadInt32();
            break;
          }
          case 16: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            MinFloor = input.ReadInt32();
            break;
          }
          case 40: {
            MaxFloor = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            GroupId = input.ReadInt32();
            break;
          }
          case 16: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            MinFloor = input.ReadInt32();
            break;
          }
          case 40: {
            MaxFloor = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterBornGroup : pb::IMessage<table_MonsterBornGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterBornGroup> _parser = new pb::MessageParser<table_MonsterBornGroup>(() => new table_MonsterBornGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterBornGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[277]; }
    }

    [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 table_MonsterBornGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterBornGroup(table_MonsterBornGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterBornGroup Clone() {
      return new table_MonsterBornGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterBornGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterBornGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterBornGroup> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterBornGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterBornGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterBornGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterBornGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterBornGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterGroup : pb::IMessage<MonsterGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterGroup> _parser = new pb::MessageParser<MonsterGroup>(() => new MonsterGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[278]; }
    }

    [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 MonsterGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterGroup(MonsterGroup other) : this() {
      id_ = other.id_;
      monsters_ = other.monsters_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterGroup Clone() {
      return new MonsterGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Monsters" field.</summary>
    public const int MonstersFieldNumber = 2;
    private string monsters_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Monsters {
      get { return monsters_; }
      set {
        monsters_ = 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 MonsterGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Monsters != other.Monsters) 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 (Monsters.Length != 0) hash ^= Monsters.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.WriteInt32(Id);
      }
      if (Monsters.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Monsters);
      }
      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.WriteInt32(Id);
      }
      if (Monsters.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Monsters);
      }
      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.ComputeInt32Size(Id);
      }
      if (Monsters.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Monsters);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Monsters.Length != 0) {
        Monsters = other.Monsters;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Monsters = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Monsters = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterGroup : pb::IMessage<table_MonsterGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterGroup> _parser = new pb::MessageParser<table_MonsterGroup>(() => new table_MonsterGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[279]; }
    }

    [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 table_MonsterGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterGroup(table_MonsterGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterGroup Clone() {
      return new table_MonsterGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterGroup> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterSkin : pb::IMessage<MonsterSkin>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterSkin> _parser = new pb::MessageParser<MonsterSkin>(() => new MonsterSkin());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterSkin> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[280]; }
    }

    [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 MonsterSkin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterSkin(MonsterSkin other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      hintIcon_ = other.hintIcon_;
      model_ = other.model_;
      runAnimationSpd_ = other.runAnimationSpd_;
      walkAnimationSpd_ = other.walkAnimationSpd_;
      barHeight_ = other.barHeight_;
      modelScale_ = other.modelScale_;
      buffFXScale_ = other.buffFXScale_;
      colliderScale_ = other.colliderScale_;
      forbiddenBehitRot_ = other.forbiddenBehitRot_;
      effectScaleValue_ = other.effectScaleValue_;
      tagEffectScaleValue_ = other.tagEffectScaleValue_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterSkin Clone() {
      return new MonsterSkin(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 4;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "HintIcon" field.</summary>
    public const int HintIconFieldNumber = 5;
    private string hintIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string HintIcon {
      get { return hintIcon_; }
      set {
        hintIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Model" field.</summary>
    public const int ModelFieldNumber = 6;
    private string model_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Model {
      get { return model_; }
      set {
        model_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RunAnimationSpd" field.</summary>
    public const int RunAnimationSpdFieldNumber = 7;
    private int runAnimationSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RunAnimationSpd {
      get { return runAnimationSpd_; }
      set {
        runAnimationSpd_ = value;
      }
    }

    /// <summary>Field number for the "WalkAnimationSpd" field.</summary>
    public const int WalkAnimationSpdFieldNumber = 8;
    private int walkAnimationSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WalkAnimationSpd {
      get { return walkAnimationSpd_; }
      set {
        walkAnimationSpd_ = value;
      }
    }

    /// <summary>Field number for the "BarHeight" field.</summary>
    public const int BarHeightFieldNumber = 9;
    private int barHeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BarHeight {
      get { return barHeight_; }
      set {
        barHeight_ = value;
      }
    }

    /// <summary>Field number for the "ModelScale" field.</summary>
    public const int ModelScaleFieldNumber = 10;
    private int modelScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ModelScale {
      get { return modelScale_; }
      set {
        modelScale_ = value;
      }
    }

    /// <summary>Field number for the "BuffFXScale" field.</summary>
    public const int BuffFXScaleFieldNumber = 11;
    private int buffFXScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BuffFXScale {
      get { return buffFXScale_; }
      set {
        buffFXScale_ = value;
      }
    }

    /// <summary>Field number for the "ColliderScale" field.</summary>
    public const int ColliderScaleFieldNumber = 12;
    private int colliderScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ColliderScale {
      get { return colliderScale_; }
      set {
        colliderScale_ = value;
      }
    }

    /// <summary>Field number for the "ForbiddenBehitRot" field.</summary>
    public const int ForbiddenBehitRotFieldNumber = 13;
    private bool forbiddenBehitRot_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ForbiddenBehitRot {
      get { return forbiddenBehitRot_; }
      set {
        forbiddenBehitRot_ = value;
      }
    }

    /// <summary>Field number for the "EffectScaleValue" field.</summary>
    public const int EffectScaleValueFieldNumber = 14;
    private int effectScaleValue_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectScaleValue {
      get { return effectScaleValue_; }
      set {
        effectScaleValue_ = value;
      }
    }

    /// <summary>Field number for the "TagEffectScaleValue" field.</summary>
    public const int TagEffectScaleValueFieldNumber = 15;
    private int tagEffectScaleValue_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TagEffectScaleValue {
      get { return tagEffectScaleValue_; }
      set {
        tagEffectScaleValue_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MonsterSkin);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterSkin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (HintIcon != other.HintIcon) return false;
      if (Model != other.Model) return false;
      if (RunAnimationSpd != other.RunAnimationSpd) return false;
      if (WalkAnimationSpd != other.WalkAnimationSpd) return false;
      if (BarHeight != other.BarHeight) return false;
      if (ModelScale != other.ModelScale) return false;
      if (BuffFXScale != other.BuffFXScale) return false;
      if (ColliderScale != other.ColliderScale) return false;
      if (ForbiddenBehitRot != other.ForbiddenBehitRot) return false;
      if (EffectScaleValue != other.EffectScaleValue) return false;
      if (TagEffectScaleValue != other.TagEffectScaleValue) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (HintIcon.Length != 0) hash ^= HintIcon.GetHashCode();
      if (Model.Length != 0) hash ^= Model.GetHashCode();
      if (RunAnimationSpd != 0) hash ^= RunAnimationSpd.GetHashCode();
      if (WalkAnimationSpd != 0) hash ^= WalkAnimationSpd.GetHashCode();
      if (BarHeight != 0) hash ^= BarHeight.GetHashCode();
      if (ModelScale != 0) hash ^= ModelScale.GetHashCode();
      if (BuffFXScale != 0) hash ^= BuffFXScale.GetHashCode();
      if (ColliderScale != 0) hash ^= ColliderScale.GetHashCode();
      if (ForbiddenBehitRot != false) hash ^= ForbiddenBehitRot.GetHashCode();
      if (EffectScaleValue != 0) hash ^= EffectScaleValue.GetHashCode();
      if (TagEffectScaleValue != 0) hash ^= TagEffectScaleValue.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (HintIcon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(HintIcon);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Model);
      }
      if (RunAnimationSpd != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RunAnimationSpd);
      }
      if (WalkAnimationSpd != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(WalkAnimationSpd);
      }
      if (BarHeight != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(BarHeight);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ModelScale);
      }
      if (BuffFXScale != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(BuffFXScale);
      }
      if (ColliderScale != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ColliderScale);
      }
      if (ForbiddenBehitRot != false) {
        output.WriteRawTag(104);
        output.WriteBool(ForbiddenBehitRot);
      }
      if (EffectScaleValue != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(EffectScaleValue);
      }
      if (TagEffectScaleValue != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TagEffectScaleValue);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (HintIcon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(HintIcon);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Model);
      }
      if (RunAnimationSpd != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RunAnimationSpd);
      }
      if (WalkAnimationSpd != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(WalkAnimationSpd);
      }
      if (BarHeight != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(BarHeight);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ModelScale);
      }
      if (BuffFXScale != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(BuffFXScale);
      }
      if (ColliderScale != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ColliderScale);
      }
      if (ForbiddenBehitRot != false) {
        output.WriteRawTag(104);
        output.WriteBool(ForbiddenBehitRot);
      }
      if (EffectScaleValue != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(EffectScaleValue);
      }
      if (TagEffectScaleValue != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(TagEffectScaleValue);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (HintIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(HintIcon);
      }
      if (Model.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Model);
      }
      if (RunAnimationSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RunAnimationSpd);
      }
      if (WalkAnimationSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WalkAnimationSpd);
      }
      if (BarHeight != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BarHeight);
      }
      if (ModelScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModelScale);
      }
      if (BuffFXScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffFXScale);
      }
      if (ColliderScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ColliderScale);
      }
      if (ForbiddenBehitRot != false) {
        size += 1 + 1;
      }
      if (EffectScaleValue != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectScaleValue);
      }
      if (TagEffectScaleValue != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TagEffectScaleValue);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterSkin other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.HintIcon.Length != 0) {
        HintIcon = other.HintIcon;
      }
      if (other.Model.Length != 0) {
        Model = other.Model;
      }
      if (other.RunAnimationSpd != 0) {
        RunAnimationSpd = other.RunAnimationSpd;
      }
      if (other.WalkAnimationSpd != 0) {
        WalkAnimationSpd = other.WalkAnimationSpd;
      }
      if (other.BarHeight != 0) {
        BarHeight = other.BarHeight;
      }
      if (other.ModelScale != 0) {
        ModelScale = other.ModelScale;
      }
      if (other.BuffFXScale != 0) {
        BuffFXScale = other.BuffFXScale;
      }
      if (other.ColliderScale != 0) {
        ColliderScale = other.ColliderScale;
      }
      if (other.ForbiddenBehitRot != false) {
        ForbiddenBehitRot = other.ForbiddenBehitRot;
      }
      if (other.EffectScaleValue != 0) {
        EffectScaleValue = other.EffectScaleValue;
      }
      if (other.TagEffectScaleValue != 0) {
        TagEffectScaleValue = other.TagEffectScaleValue;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            HintIcon = input.ReadString();
            break;
          }
          case 50: {
            Model = input.ReadString();
            break;
          }
          case 56: {
            RunAnimationSpd = input.ReadInt32();
            break;
          }
          case 64: {
            WalkAnimationSpd = input.ReadInt32();
            break;
          }
          case 72: {
            BarHeight = input.ReadInt32();
            break;
          }
          case 80: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 88: {
            BuffFXScale = input.ReadInt32();
            break;
          }
          case 96: {
            ColliderScale = input.ReadInt32();
            break;
          }
          case 104: {
            ForbiddenBehitRot = input.ReadBool();
            break;
          }
          case 112: {
            EffectScaleValue = input.ReadInt32();
            break;
          }
          case 120: {
            TagEffectScaleValue = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            HintIcon = input.ReadString();
            break;
          }
          case 50: {
            Model = input.ReadString();
            break;
          }
          case 56: {
            RunAnimationSpd = input.ReadInt32();
            break;
          }
          case 64: {
            WalkAnimationSpd = input.ReadInt32();
            break;
          }
          case 72: {
            BarHeight = input.ReadInt32();
            break;
          }
          case 80: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 88: {
            BuffFXScale = input.ReadInt32();
            break;
          }
          case 96: {
            ColliderScale = input.ReadInt32();
            break;
          }
          case 104: {
            ForbiddenBehitRot = input.ReadBool();
            break;
          }
          case 112: {
            EffectScaleValue = input.ReadInt32();
            break;
          }
          case 120: {
            TagEffectScaleValue = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterSkin : pb::IMessage<table_MonsterSkin>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterSkin> _parser = new pb::MessageParser<table_MonsterSkin>(() => new table_MonsterSkin());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterSkin> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[281]; }
    }

    [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 table_MonsterSkin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterSkin(table_MonsterSkin other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterSkin Clone() {
      return new table_MonsterSkin(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterSkin> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterSkin.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterSkin> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterSkin>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterSkin> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterSkin);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterSkin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterSkin other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterTeam : pb::IMessage<MonsterTeam>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterTeam> _parser = new pb::MessageParser<MonsterTeam>(() => new MonsterTeam());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterTeam> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[282]; }
    }

    [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 MonsterTeam() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterTeam(MonsterTeam other) : this() {
      id_ = other.id_;
      mate0Id_ = other.mate0Id_;
      mate1Id_ = other.mate1Id_;
      mate2Id_ = other.mate2Id_;
      mate3Id_ = other.mate3Id_;
      mate4Id_ = other.mate4Id_;
      mate5Id_ = other.mate5Id_;
      mate6Id_ = other.mate6Id_;
      mate7Id_ = other.mate7Id_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterTeam Clone() {
      return new MonsterTeam(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Mate0Id" field.</summary>
    public const int Mate0IdFieldNumber = 2;
    private int mate0Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate0Id {
      get { return mate0Id_; }
      set {
        mate0Id_ = value;
      }
    }

    /// <summary>Field number for the "Mate1Id" field.</summary>
    public const int Mate1IdFieldNumber = 3;
    private int mate1Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate1Id {
      get { return mate1Id_; }
      set {
        mate1Id_ = value;
      }
    }

    /// <summary>Field number for the "Mate2Id" field.</summary>
    public const int Mate2IdFieldNumber = 4;
    private int mate2Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate2Id {
      get { return mate2Id_; }
      set {
        mate2Id_ = value;
      }
    }

    /// <summary>Field number for the "Mate3Id" field.</summary>
    public const int Mate3IdFieldNumber = 5;
    private int mate3Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate3Id {
      get { return mate3Id_; }
      set {
        mate3Id_ = value;
      }
    }

    /// <summary>Field number for the "Mate4Id" field.</summary>
    public const int Mate4IdFieldNumber = 6;
    private int mate4Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate4Id {
      get { return mate4Id_; }
      set {
        mate4Id_ = value;
      }
    }

    /// <summary>Field number for the "Mate5Id" field.</summary>
    public const int Mate5IdFieldNumber = 7;
    private int mate5Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate5Id {
      get { return mate5Id_; }
      set {
        mate5Id_ = value;
      }
    }

    /// <summary>Field number for the "Mate6Id" field.</summary>
    public const int Mate6IdFieldNumber = 8;
    private int mate6Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate6Id {
      get { return mate6Id_; }
      set {
        mate6Id_ = value;
      }
    }

    /// <summary>Field number for the "Mate7Id" field.</summary>
    public const int Mate7IdFieldNumber = 9;
    private int mate7Id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Mate7Id {
      get { return mate7Id_; }
      set {
        mate7Id_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MonsterTeam);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterTeam other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Mate0Id != other.Mate0Id) return false;
      if (Mate1Id != other.Mate1Id) return false;
      if (Mate2Id != other.Mate2Id) return false;
      if (Mate3Id != other.Mate3Id) return false;
      if (Mate4Id != other.Mate4Id) return false;
      if (Mate5Id != other.Mate5Id) return false;
      if (Mate6Id != other.Mate6Id) return false;
      if (Mate7Id != other.Mate7Id) 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 (Mate0Id != 0) hash ^= Mate0Id.GetHashCode();
      if (Mate1Id != 0) hash ^= Mate1Id.GetHashCode();
      if (Mate2Id != 0) hash ^= Mate2Id.GetHashCode();
      if (Mate3Id != 0) hash ^= Mate3Id.GetHashCode();
      if (Mate4Id != 0) hash ^= Mate4Id.GetHashCode();
      if (Mate5Id != 0) hash ^= Mate5Id.GetHashCode();
      if (Mate6Id != 0) hash ^= Mate6Id.GetHashCode();
      if (Mate7Id != 0) hash ^= Mate7Id.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.WriteInt32(Id);
      }
      if (Mate0Id != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Mate0Id);
      }
      if (Mate1Id != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mate1Id);
      }
      if (Mate2Id != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Mate2Id);
      }
      if (Mate3Id != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Mate3Id);
      }
      if (Mate4Id != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Mate4Id);
      }
      if (Mate5Id != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Mate5Id);
      }
      if (Mate6Id != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Mate6Id);
      }
      if (Mate7Id != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Mate7Id);
      }
      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.WriteInt32(Id);
      }
      if (Mate0Id != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Mate0Id);
      }
      if (Mate1Id != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Mate1Id);
      }
      if (Mate2Id != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Mate2Id);
      }
      if (Mate3Id != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Mate3Id);
      }
      if (Mate4Id != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Mate4Id);
      }
      if (Mate5Id != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Mate5Id);
      }
      if (Mate6Id != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Mate6Id);
      }
      if (Mate7Id != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Mate7Id);
      }
      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.ComputeInt32Size(Id);
      }
      if (Mate0Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate0Id);
      }
      if (Mate1Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate1Id);
      }
      if (Mate2Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate2Id);
      }
      if (Mate3Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate3Id);
      }
      if (Mate4Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate4Id);
      }
      if (Mate5Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate5Id);
      }
      if (Mate6Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate6Id);
      }
      if (Mate7Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Mate7Id);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterTeam other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Mate0Id != 0) {
        Mate0Id = other.Mate0Id;
      }
      if (other.Mate1Id != 0) {
        Mate1Id = other.Mate1Id;
      }
      if (other.Mate2Id != 0) {
        Mate2Id = other.Mate2Id;
      }
      if (other.Mate3Id != 0) {
        Mate3Id = other.Mate3Id;
      }
      if (other.Mate4Id != 0) {
        Mate4Id = other.Mate4Id;
      }
      if (other.Mate5Id != 0) {
        Mate5Id = other.Mate5Id;
      }
      if (other.Mate6Id != 0) {
        Mate6Id = other.Mate6Id;
      }
      if (other.Mate7Id != 0) {
        Mate7Id = other.Mate7Id;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Mate0Id = input.ReadInt32();
            break;
          }
          case 24: {
            Mate1Id = input.ReadInt32();
            break;
          }
          case 32: {
            Mate2Id = input.ReadInt32();
            break;
          }
          case 40: {
            Mate3Id = input.ReadInt32();
            break;
          }
          case 48: {
            Mate4Id = input.ReadInt32();
            break;
          }
          case 56: {
            Mate5Id = input.ReadInt32();
            break;
          }
          case 64: {
            Mate6Id = input.ReadInt32();
            break;
          }
          case 72: {
            Mate7Id = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Mate0Id = input.ReadInt32();
            break;
          }
          case 24: {
            Mate1Id = input.ReadInt32();
            break;
          }
          case 32: {
            Mate2Id = input.ReadInt32();
            break;
          }
          case 40: {
            Mate3Id = input.ReadInt32();
            break;
          }
          case 48: {
            Mate4Id = input.ReadInt32();
            break;
          }
          case 56: {
            Mate5Id = input.ReadInt32();
            break;
          }
          case 64: {
            Mate6Id = input.ReadInt32();
            break;
          }
          case 72: {
            Mate7Id = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterTeam : pb::IMessage<table_MonsterTeam>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterTeam> _parser = new pb::MessageParser<table_MonsterTeam>(() => new table_MonsterTeam());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterTeam> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[283]; }
    }

    [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 table_MonsterTeam() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterTeam(table_MonsterTeam other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterTeam Clone() {
      return new table_MonsterTeam(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterTeam> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterTeam.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterTeam> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterTeam>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterTeam> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterTeam);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterTeam other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterTeam other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterValueTemplete : pb::IMessage<MonsterValueTemplete>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterValueTemplete> _parser = new pb::MessageParser<MonsterValueTemplete>(() => new MonsterValueTemplete());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterValueTemplete> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[284]; }
    }

    [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 MonsterValueTemplete() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterValueTemplete(MonsterValueTemplete other) : this() {
      id_ = other.id_;
      templateId_ = other.templateId_;
      name_ = other.name_;
      lv_ = other.lv_;
      hp_ = other.hp_;
      atk_ = other.atk_;
      def_ = other.def_;
      critRate_ = other.critRate_;
      normalCritRate_ = other.normalCritRate_;
      skillCritRate_ = other.skillCritRate_;
      ultraCritRate_ = other.ultraCritRate_;
      markCritRate_ = other.markCritRate_;
      summonCritRate_ = other.summonCritRate_;
      projectileCritRate_ = other.projectileCritRate_;
      otherCritRate_ = other.otherCritRate_;
      critResistance_ = other.critResistance_;
      critPower_ = other.critPower_;
      normalCritPower_ = other.normalCritPower_;
      skillCritPower_ = other.skillCritPower_;
      ultraCritPower_ = other.ultraCritPower_;
      markCritPower_ = other.markCritPower_;
      summonCritPower_ = other.summonCritPower_;
      projectileCritPower_ = other.projectileCritPower_;
      otherCritPower_ = other.otherCritPower_;
      hitRate_ = other.hitRate_;
      evd_ = other.evd_;
      atkSpd_ = other.atkSpd_;
      defPierce_ = other.defPierce_;
      defIgnore_ = other.defIgnore_;
      wEP_ = other.wEP_;
      fEP_ = other.fEP_;
      sEP_ = other.sEP_;
      aEP_ = other.aEP_;
      lEP_ = other.lEP_;
      dEP_ = other.dEP_;
      wEI_ = other.wEI_;
      fEI_ = other.fEI_;
      sEI_ = other.sEI_;
      aEI_ = other.aEI_;
      lEI_ = other.lEI_;
      dEI_ = other.dEI_;
      wEE_ = other.wEE_;
      fEE_ = other.fEE_;
      sEE_ = other.sEE_;
      aEE_ = other.aEE_;
      lEE_ = other.lEE_;
      dEE_ = other.dEE_;
      wER_ = other.wER_;
      fER_ = other.fER_;
      sER_ = other.sER_;
      aER_ = other.aER_;
      lER_ = other.lER_;
      dER_ = other.dER_;
      toughness_ = other.toughness_;
      suppress_ = other.suppress_;
      rCDMARKDMG_ = other.rCDMARKDMG_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterValueTemplete Clone() {
      return new MonsterValueTemplete(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private long id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "TemplateId" field.</summary>
    public const int TemplateIdFieldNumber = 2;
    private int templateId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TemplateId {
      get { return templateId_; }
      set {
        templateId_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Lv" field.</summary>
    public const int LvFieldNumber = 4;
    private int lv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Lv {
      get { return lv_; }
      set {
        lv_ = value;
      }
    }

    /// <summary>Field number for the "Hp" field.</summary>
    public const int HpFieldNumber = 5;
    private int hp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Hp {
      get { return hp_; }
      set {
        hp_ = value;
      }
    }

    /// <summary>Field number for the "Atk" field.</summary>
    public const int AtkFieldNumber = 6;
    private int atk_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Atk {
      get { return atk_; }
      set {
        atk_ = value;
      }
    }

    /// <summary>Field number for the "Def" field.</summary>
    public const int DefFieldNumber = 7;
    private int def_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Def {
      get { return def_; }
      set {
        def_ = value;
      }
    }

    /// <summary>Field number for the "CritRate" field.</summary>
    public const int CritRateFieldNumber = 8;
    private int critRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CritRate {
      get { return critRate_; }
      set {
        critRate_ = value;
      }
    }

    /// <summary>Field number for the "NormalCritRate" field.</summary>
    public const int NormalCritRateFieldNumber = 9;
    private int normalCritRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NormalCritRate {
      get { return normalCritRate_; }
      set {
        normalCritRate_ = value;
      }
    }

    /// <summary>Field number for the "SkillCritRate" field.</summary>
    public const int SkillCritRateFieldNumber = 10;
    private int skillCritRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillCritRate {
      get { return skillCritRate_; }
      set {
        skillCritRate_ = value;
      }
    }

    /// <summary>Field number for the "UltraCritRate" field.</summary>
    public const int UltraCritRateFieldNumber = 11;
    private int ultraCritRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UltraCritRate {
      get { return ultraCritRate_; }
      set {
        ultraCritRate_ = value;
      }
    }

    /// <summary>Field number for the "MarkCritRate" field.</summary>
    public const int MarkCritRateFieldNumber = 12;
    private int markCritRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MarkCritRate {
      get { return markCritRate_; }
      set {
        markCritRate_ = value;
      }
    }

    /// <summary>Field number for the "SummonCritRate" field.</summary>
    public const int SummonCritRateFieldNumber = 13;
    private int summonCritRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SummonCritRate {
      get { return summonCritRate_; }
      set {
        summonCritRate_ = value;
      }
    }

    /// <summary>Field number for the "ProjectileCritRate" field.</summary>
    public const int ProjectileCritRateFieldNumber = 14;
    private int projectileCritRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ProjectileCritRate {
      get { return projectileCritRate_; }
      set {
        projectileCritRate_ = value;
      }
    }

    /// <summary>Field number for the "OtherCritRate" field.</summary>
    public const int OtherCritRateFieldNumber = 15;
    private int otherCritRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OtherCritRate {
      get { return otherCritRate_; }
      set {
        otherCritRate_ = value;
      }
    }

    /// <summary>Field number for the "CritResistance" field.</summary>
    public const int CritResistanceFieldNumber = 16;
    private int critResistance_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CritResistance {
      get { return critResistance_; }
      set {
        critResistance_ = value;
      }
    }

    /// <summary>Field number for the "CritPower" field.</summary>
    public const int CritPowerFieldNumber = 17;
    private int critPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CritPower {
      get { return critPower_; }
      set {
        critPower_ = value;
      }
    }

    /// <summary>Field number for the "NormalCritPower" field.</summary>
    public const int NormalCritPowerFieldNumber = 18;
    private int normalCritPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NormalCritPower {
      get { return normalCritPower_; }
      set {
        normalCritPower_ = value;
      }
    }

    /// <summary>Field number for the "SkillCritPower" field.</summary>
    public const int SkillCritPowerFieldNumber = 19;
    private int skillCritPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillCritPower {
      get { return skillCritPower_; }
      set {
        skillCritPower_ = value;
      }
    }

    /// <summary>Field number for the "UltraCritPower" field.</summary>
    public const int UltraCritPowerFieldNumber = 20;
    private int ultraCritPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UltraCritPower {
      get { return ultraCritPower_; }
      set {
        ultraCritPower_ = value;
      }
    }

    /// <summary>Field number for the "MarkCritPower" field.</summary>
    public const int MarkCritPowerFieldNumber = 21;
    private int markCritPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MarkCritPower {
      get { return markCritPower_; }
      set {
        markCritPower_ = value;
      }
    }

    /// <summary>Field number for the "SummonCritPower" field.</summary>
    public const int SummonCritPowerFieldNumber = 22;
    private int summonCritPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SummonCritPower {
      get { return summonCritPower_; }
      set {
        summonCritPower_ = value;
      }
    }

    /// <summary>Field number for the "ProjectileCritPower" field.</summary>
    public const int ProjectileCritPowerFieldNumber = 23;
    private int projectileCritPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ProjectileCritPower {
      get { return projectileCritPower_; }
      set {
        projectileCritPower_ = value;
      }
    }

    /// <summary>Field number for the "OtherCritPower" field.</summary>
    public const int OtherCritPowerFieldNumber = 24;
    private int otherCritPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OtherCritPower {
      get { return otherCritPower_; }
      set {
        otherCritPower_ = value;
      }
    }

    /// <summary>Field number for the "HitRate" field.</summary>
    public const int HitRateFieldNumber = 25;
    private int hitRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HitRate {
      get { return hitRate_; }
      set {
        hitRate_ = value;
      }
    }

    /// <summary>Field number for the "Evd" field.</summary>
    public const int EvdFieldNumber = 26;
    private int evd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Evd {
      get { return evd_; }
      set {
        evd_ = value;
      }
    }

    /// <summary>Field number for the "AtkSpd" field.</summary>
    public const int AtkSpdFieldNumber = 27;
    private int atkSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AtkSpd {
      get { return atkSpd_; }
      set {
        atkSpd_ = value;
      }
    }

    /// <summary>Field number for the "DefPierce" field.</summary>
    public const int DefPierceFieldNumber = 28;
    private int defPierce_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DefPierce {
      get { return defPierce_; }
      set {
        defPierce_ = value;
      }
    }

    /// <summary>Field number for the "DefIgnore" field.</summary>
    public const int DefIgnoreFieldNumber = 29;
    private int defIgnore_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DefIgnore {
      get { return defIgnore_; }
      set {
        defIgnore_ = value;
      }
    }

    /// <summary>Field number for the "WEP" field.</summary>
    public const int WEPFieldNumber = 30;
    private int wEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WEP {
      get { return wEP_; }
      set {
        wEP_ = value;
      }
    }

    /// <summary>Field number for the "FEP" field.</summary>
    public const int FEPFieldNumber = 31;
    private int fEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FEP {
      get { return fEP_; }
      set {
        fEP_ = value;
      }
    }

    /// <summary>Field number for the "SEP" field.</summary>
    public const int SEPFieldNumber = 32;
    private int sEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SEP {
      get { return sEP_; }
      set {
        sEP_ = value;
      }
    }

    /// <summary>Field number for the "AEP" field.</summary>
    public const int AEPFieldNumber = 33;
    private int aEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AEP {
      get { return aEP_; }
      set {
        aEP_ = value;
      }
    }

    /// <summary>Field number for the "LEP" field.</summary>
    public const int LEPFieldNumber = 34;
    private int lEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LEP {
      get { return lEP_; }
      set {
        lEP_ = value;
      }
    }

    /// <summary>Field number for the "DEP" field.</summary>
    public const int DEPFieldNumber = 35;
    private int dEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DEP {
      get { return dEP_; }
      set {
        dEP_ = value;
      }
    }

    /// <summary>Field number for the "WEI" field.</summary>
    public const int WEIFieldNumber = 36;
    private int wEI_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WEI {
      get { return wEI_; }
      set {
        wEI_ = value;
      }
    }

    /// <summary>Field number for the "FEI" field.</summary>
    public const int FEIFieldNumber = 37;
    private int fEI_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FEI {
      get { return fEI_; }
      set {
        fEI_ = value;
      }
    }

    /// <summary>Field number for the "SEI" field.</summary>
    public const int SEIFieldNumber = 38;
    private int sEI_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SEI {
      get { return sEI_; }
      set {
        sEI_ = value;
      }
    }

    /// <summary>Field number for the "AEI" field.</summary>
    public const int AEIFieldNumber = 39;
    private int aEI_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AEI {
      get { return aEI_; }
      set {
        aEI_ = value;
      }
    }

    /// <summary>Field number for the "LEI" field.</summary>
    public const int LEIFieldNumber = 40;
    private int lEI_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LEI {
      get { return lEI_; }
      set {
        lEI_ = value;
      }
    }

    /// <summary>Field number for the "DEI" field.</summary>
    public const int DEIFieldNumber = 41;
    private int dEI_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DEI {
      get { return dEI_; }
      set {
        dEI_ = value;
      }
    }

    /// <summary>Field number for the "WEE" field.</summary>
    public const int WEEFieldNumber = 42;
    private int wEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WEE {
      get { return wEE_; }
      set {
        wEE_ = value;
      }
    }

    /// <summary>Field number for the "FEE" field.</summary>
    public const int FEEFieldNumber = 43;
    private int fEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FEE {
      get { return fEE_; }
      set {
        fEE_ = value;
      }
    }

    /// <summary>Field number for the "SEE" field.</summary>
    public const int SEEFieldNumber = 44;
    private int sEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SEE {
      get { return sEE_; }
      set {
        sEE_ = value;
      }
    }

    /// <summary>Field number for the "AEE" field.</summary>
    public const int AEEFieldNumber = 45;
    private int aEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AEE {
      get { return aEE_; }
      set {
        aEE_ = value;
      }
    }

    /// <summary>Field number for the "LEE" field.</summary>
    public const int LEEFieldNumber = 46;
    private int lEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LEE {
      get { return lEE_; }
      set {
        lEE_ = value;
      }
    }

    /// <summary>Field number for the "DEE" field.</summary>
    public const int DEEFieldNumber = 47;
    private int dEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DEE {
      get { return dEE_; }
      set {
        dEE_ = value;
      }
    }

    /// <summary>Field number for the "WER" field.</summary>
    public const int WERFieldNumber = 48;
    private int wER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WER {
      get { return wER_; }
      set {
        wER_ = value;
      }
    }

    /// <summary>Field number for the "FER" field.</summary>
    public const int FERFieldNumber = 49;
    private int fER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FER {
      get { return fER_; }
      set {
        fER_ = value;
      }
    }

    /// <summary>Field number for the "SER" field.</summary>
    public const int SERFieldNumber = 50;
    private int sER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SER {
      get { return sER_; }
      set {
        sER_ = value;
      }
    }

    /// <summary>Field number for the "AER" field.</summary>
    public const int AERFieldNumber = 51;
    private int aER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AER {
      get { return aER_; }
      set {
        aER_ = value;
      }
    }

    /// <summary>Field number for the "LER" field.</summary>
    public const int LERFieldNumber = 52;
    private int lER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LER {
      get { return lER_; }
      set {
        lER_ = value;
      }
    }

    /// <summary>Field number for the "DER" field.</summary>
    public const int DERFieldNumber = 53;
    private int dER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DER {
      get { return dER_; }
      set {
        dER_ = value;
      }
    }

    /// <summary>Field number for the "Toughness" field.</summary>
    public const int ToughnessFieldNumber = 54;
    private int toughness_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Toughness {
      get { return toughness_; }
      set {
        toughness_ = value;
      }
    }

    /// <summary>Field number for the "Suppress" field.</summary>
    public const int SuppressFieldNumber = 55;
    private int suppress_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Suppress {
      get { return suppress_; }
      set {
        suppress_ = value;
      }
    }

    /// <summary>Field number for the "RCDMARKDMG" field.</summary>
    public const int RCDMARKDMGFieldNumber = 56;
    private int rCDMARKDMG_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RCDMARKDMG {
      get { return rCDMARKDMG_; }
      set {
        rCDMARKDMG_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MonsterValueTemplete);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterValueTemplete other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (TemplateId != other.TemplateId) return false;
      if (Name != other.Name) return false;
      if (Lv != other.Lv) return false;
      if (Hp != other.Hp) return false;
      if (Atk != other.Atk) return false;
      if (Def != other.Def) return false;
      if (CritRate != other.CritRate) return false;
      if (NormalCritRate != other.NormalCritRate) return false;
      if (SkillCritRate != other.SkillCritRate) return false;
      if (UltraCritRate != other.UltraCritRate) return false;
      if (MarkCritRate != other.MarkCritRate) return false;
      if (SummonCritRate != other.SummonCritRate) return false;
      if (ProjectileCritRate != other.ProjectileCritRate) return false;
      if (OtherCritRate != other.OtherCritRate) return false;
      if (CritResistance != other.CritResistance) return false;
      if (CritPower != other.CritPower) return false;
      if (NormalCritPower != other.NormalCritPower) return false;
      if (SkillCritPower != other.SkillCritPower) return false;
      if (UltraCritPower != other.UltraCritPower) return false;
      if (MarkCritPower != other.MarkCritPower) return false;
      if (SummonCritPower != other.SummonCritPower) return false;
      if (ProjectileCritPower != other.ProjectileCritPower) return false;
      if (OtherCritPower != other.OtherCritPower) return false;
      if (HitRate != other.HitRate) return false;
      if (Evd != other.Evd) return false;
      if (AtkSpd != other.AtkSpd) return false;
      if (DefPierce != other.DefPierce) return false;
      if (DefIgnore != other.DefIgnore) return false;
      if (WEP != other.WEP) return false;
      if (FEP != other.FEP) return false;
      if (SEP != other.SEP) return false;
      if (AEP != other.AEP) return false;
      if (LEP != other.LEP) return false;
      if (DEP != other.DEP) return false;
      if (WEI != other.WEI) return false;
      if (FEI != other.FEI) return false;
      if (SEI != other.SEI) return false;
      if (AEI != other.AEI) return false;
      if (LEI != other.LEI) return false;
      if (DEI != other.DEI) return false;
      if (WEE != other.WEE) return false;
      if (FEE != other.FEE) return false;
      if (SEE != other.SEE) return false;
      if (AEE != other.AEE) return false;
      if (LEE != other.LEE) return false;
      if (DEE != other.DEE) return false;
      if (WER != other.WER) return false;
      if (FER != other.FER) return false;
      if (SER != other.SER) return false;
      if (AER != other.AER) return false;
      if (LER != other.LER) return false;
      if (DER != other.DER) return false;
      if (Toughness != other.Toughness) return false;
      if (Suppress != other.Suppress) return false;
      if (RCDMARKDMG != other.RCDMARKDMG) 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 != 0L) hash ^= Id.GetHashCode();
      if (TemplateId != 0) hash ^= TemplateId.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Lv != 0) hash ^= Lv.GetHashCode();
      if (Hp != 0) hash ^= Hp.GetHashCode();
      if (Atk != 0) hash ^= Atk.GetHashCode();
      if (Def != 0) hash ^= Def.GetHashCode();
      if (CritRate != 0) hash ^= CritRate.GetHashCode();
      if (NormalCritRate != 0) hash ^= NormalCritRate.GetHashCode();
      if (SkillCritRate != 0) hash ^= SkillCritRate.GetHashCode();
      if (UltraCritRate != 0) hash ^= UltraCritRate.GetHashCode();
      if (MarkCritRate != 0) hash ^= MarkCritRate.GetHashCode();
      if (SummonCritRate != 0) hash ^= SummonCritRate.GetHashCode();
      if (ProjectileCritRate != 0) hash ^= ProjectileCritRate.GetHashCode();
      if (OtherCritRate != 0) hash ^= OtherCritRate.GetHashCode();
      if (CritResistance != 0) hash ^= CritResistance.GetHashCode();
      if (CritPower != 0) hash ^= CritPower.GetHashCode();
      if (NormalCritPower != 0) hash ^= NormalCritPower.GetHashCode();
      if (SkillCritPower != 0) hash ^= SkillCritPower.GetHashCode();
      if (UltraCritPower != 0) hash ^= UltraCritPower.GetHashCode();
      if (MarkCritPower != 0) hash ^= MarkCritPower.GetHashCode();
      if (SummonCritPower != 0) hash ^= SummonCritPower.GetHashCode();
      if (ProjectileCritPower != 0) hash ^= ProjectileCritPower.GetHashCode();
      if (OtherCritPower != 0) hash ^= OtherCritPower.GetHashCode();
      if (HitRate != 0) hash ^= HitRate.GetHashCode();
      if (Evd != 0) hash ^= Evd.GetHashCode();
      if (AtkSpd != 0) hash ^= AtkSpd.GetHashCode();
      if (DefPierce != 0) hash ^= DefPierce.GetHashCode();
      if (DefIgnore != 0) hash ^= DefIgnore.GetHashCode();
      if (WEP != 0) hash ^= WEP.GetHashCode();
      if (FEP != 0) hash ^= FEP.GetHashCode();
      if (SEP != 0) hash ^= SEP.GetHashCode();
      if (AEP != 0) hash ^= AEP.GetHashCode();
      if (LEP != 0) hash ^= LEP.GetHashCode();
      if (DEP != 0) hash ^= DEP.GetHashCode();
      if (WEI != 0) hash ^= WEI.GetHashCode();
      if (FEI != 0) hash ^= FEI.GetHashCode();
      if (SEI != 0) hash ^= SEI.GetHashCode();
      if (AEI != 0) hash ^= AEI.GetHashCode();
      if (LEI != 0) hash ^= LEI.GetHashCode();
      if (DEI != 0) hash ^= DEI.GetHashCode();
      if (WEE != 0) hash ^= WEE.GetHashCode();
      if (FEE != 0) hash ^= FEE.GetHashCode();
      if (SEE != 0) hash ^= SEE.GetHashCode();
      if (AEE != 0) hash ^= AEE.GetHashCode();
      if (LEE != 0) hash ^= LEE.GetHashCode();
      if (DEE != 0) hash ^= DEE.GetHashCode();
      if (WER != 0) hash ^= WER.GetHashCode();
      if (FER != 0) hash ^= FER.GetHashCode();
      if (SER != 0) hash ^= SER.GetHashCode();
      if (AER != 0) hash ^= AER.GetHashCode();
      if (LER != 0) hash ^= LER.GetHashCode();
      if (DER != 0) hash ^= DER.GetHashCode();
      if (Toughness != 0) hash ^= Toughness.GetHashCode();
      if (Suppress != 0) hash ^= Suppress.GetHashCode();
      if (RCDMARKDMG != 0) hash ^= RCDMARKDMG.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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TemplateId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Lv != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Lv);
      }
      if (Hp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Hp);
      }
      if (Atk != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Atk);
      }
      if (Def != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Def);
      }
      if (CritRate != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CritRate);
      }
      if (NormalCritRate != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NormalCritRate);
      }
      if (SkillCritRate != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SkillCritRate);
      }
      if (UltraCritRate != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UltraCritRate);
      }
      if (MarkCritRate != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MarkCritRate);
      }
      if (SummonCritRate != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(SummonCritRate);
      }
      if (ProjectileCritRate != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ProjectileCritRate);
      }
      if (OtherCritRate != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(OtherCritRate);
      }
      if (CritResistance != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(CritResistance);
      }
      if (CritPower != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(CritPower);
      }
      if (NormalCritPower != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(NormalCritPower);
      }
      if (SkillCritPower != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(SkillCritPower);
      }
      if (UltraCritPower != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(UltraCritPower);
      }
      if (MarkCritPower != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(MarkCritPower);
      }
      if (SummonCritPower != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(SummonCritPower);
      }
      if (ProjectileCritPower != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ProjectileCritPower);
      }
      if (OtherCritPower != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(OtherCritPower);
      }
      if (HitRate != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(HitRate);
      }
      if (Evd != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(Evd);
      }
      if (AtkSpd != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(AtkSpd);
      }
      if (DefPierce != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(DefPierce);
      }
      if (DefIgnore != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(DefIgnore);
      }
      if (WEP != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(WEP);
      }
      if (FEP != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(FEP);
      }
      if (SEP != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(SEP);
      }
      if (AEP != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(AEP);
      }
      if (LEP != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(LEP);
      }
      if (DEP != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(DEP);
      }
      if (WEI != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(WEI);
      }
      if (FEI != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(FEI);
      }
      if (SEI != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(SEI);
      }
      if (AEI != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(AEI);
      }
      if (LEI != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(LEI);
      }
      if (DEI != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(DEI);
      }
      if (WEE != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(WEE);
      }
      if (FEE != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(FEE);
      }
      if (SEE != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(SEE);
      }
      if (AEE != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(AEE);
      }
      if (LEE != 0) {
        output.WriteRawTag(240, 2);
        output.WriteInt32(LEE);
      }
      if (DEE != 0) {
        output.WriteRawTag(248, 2);
        output.WriteInt32(DEE);
      }
      if (WER != 0) {
        output.WriteRawTag(128, 3);
        output.WriteInt32(WER);
      }
      if (FER != 0) {
        output.WriteRawTag(136, 3);
        output.WriteInt32(FER);
      }
      if (SER != 0) {
        output.WriteRawTag(144, 3);
        output.WriteInt32(SER);
      }
      if (AER != 0) {
        output.WriteRawTag(152, 3);
        output.WriteInt32(AER);
      }
      if (LER != 0) {
        output.WriteRawTag(160, 3);
        output.WriteInt32(LER);
      }
      if (DER != 0) {
        output.WriteRawTag(168, 3);
        output.WriteInt32(DER);
      }
      if (Toughness != 0) {
        output.WriteRawTag(176, 3);
        output.WriteInt32(Toughness);
      }
      if (Suppress != 0) {
        output.WriteRawTag(184, 3);
        output.WriteInt32(Suppress);
      }
      if (RCDMARKDMG != 0) {
        output.WriteRawTag(192, 3);
        output.WriteInt32(RCDMARKDMG);
      }
      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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TemplateId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Lv != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Lv);
      }
      if (Hp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Hp);
      }
      if (Atk != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Atk);
      }
      if (Def != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Def);
      }
      if (CritRate != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CritRate);
      }
      if (NormalCritRate != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(NormalCritRate);
      }
      if (SkillCritRate != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SkillCritRate);
      }
      if (UltraCritRate != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UltraCritRate);
      }
      if (MarkCritRate != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MarkCritRate);
      }
      if (SummonCritRate != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(SummonCritRate);
      }
      if (ProjectileCritRate != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ProjectileCritRate);
      }
      if (OtherCritRate != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(OtherCritRate);
      }
      if (CritResistance != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(CritResistance);
      }
      if (CritPower != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(CritPower);
      }
      if (NormalCritPower != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(NormalCritPower);
      }
      if (SkillCritPower != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(SkillCritPower);
      }
      if (UltraCritPower != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(UltraCritPower);
      }
      if (MarkCritPower != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(MarkCritPower);
      }
      if (SummonCritPower != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(SummonCritPower);
      }
      if (ProjectileCritPower != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ProjectileCritPower);
      }
      if (OtherCritPower != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(OtherCritPower);
      }
      if (HitRate != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(HitRate);
      }
      if (Evd != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(Evd);
      }
      if (AtkSpd != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(AtkSpd);
      }
      if (DefPierce != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(DefPierce);
      }
      if (DefIgnore != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(DefIgnore);
      }
      if (WEP != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(WEP);
      }
      if (FEP != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(FEP);
      }
      if (SEP != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(SEP);
      }
      if (AEP != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(AEP);
      }
      if (LEP != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(LEP);
      }
      if (DEP != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(DEP);
      }
      if (WEI != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(WEI);
      }
      if (FEI != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(FEI);
      }
      if (SEI != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(SEI);
      }
      if (AEI != 0) {
        output.WriteRawTag(184, 2);
        output.WriteInt32(AEI);
      }
      if (LEI != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(LEI);
      }
      if (DEI != 0) {
        output.WriteRawTag(200, 2);
        output.WriteInt32(DEI);
      }
      if (WEE != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(WEE);
      }
      if (FEE != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(FEE);
      }
      if (SEE != 0) {
        output.WriteRawTag(224, 2);
        output.WriteInt32(SEE);
      }
      if (AEE != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(AEE);
      }
      if (LEE != 0) {
        output.WriteRawTag(240, 2);
        output.WriteInt32(LEE);
      }
      if (DEE != 0) {
        output.WriteRawTag(248, 2);
        output.WriteInt32(DEE);
      }
      if (WER != 0) {
        output.WriteRawTag(128, 3);
        output.WriteInt32(WER);
      }
      if (FER != 0) {
        output.WriteRawTag(136, 3);
        output.WriteInt32(FER);
      }
      if (SER != 0) {
        output.WriteRawTag(144, 3);
        output.WriteInt32(SER);
      }
      if (AER != 0) {
        output.WriteRawTag(152, 3);
        output.WriteInt32(AER);
      }
      if (LER != 0) {
        output.WriteRawTag(160, 3);
        output.WriteInt32(LER);
      }
      if (DER != 0) {
        output.WriteRawTag(168, 3);
        output.WriteInt32(DER);
      }
      if (Toughness != 0) {
        output.WriteRawTag(176, 3);
        output.WriteInt32(Toughness);
      }
      if (Suppress != 0) {
        output.WriteRawTag(184, 3);
        output.WriteInt32(Suppress);
      }
      if (RCDMARKDMG != 0) {
        output.WriteRawTag(192, 3);
        output.WriteInt32(RCDMARKDMG);
      }
      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 != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (TemplateId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TemplateId);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Lv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Lv);
      }
      if (Hp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Hp);
      }
      if (Atk != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Atk);
      }
      if (Def != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Def);
      }
      if (CritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CritRate);
      }
      if (NormalCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NormalCritRate);
      }
      if (SkillCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillCritRate);
      }
      if (UltraCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UltraCritRate);
      }
      if (MarkCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MarkCritRate);
      }
      if (SummonCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SummonCritRate);
      }
      if (ProjectileCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ProjectileCritRate);
      }
      if (OtherCritRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OtherCritRate);
      }
      if (CritResistance != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CritResistance);
      }
      if (CritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CritPower);
      }
      if (NormalCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NormalCritPower);
      }
      if (SkillCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkillCritPower);
      }
      if (UltraCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(UltraCritPower);
      }
      if (MarkCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MarkCritPower);
      }
      if (SummonCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SummonCritPower);
      }
      if (ProjectileCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ProjectileCritPower);
      }
      if (OtherCritPower != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(OtherCritPower);
      }
      if (HitRate != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HitRate);
      }
      if (Evd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Evd);
      }
      if (AtkSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AtkSpd);
      }
      if (DefPierce != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DefPierce);
      }
      if (DefIgnore != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DefIgnore);
      }
      if (WEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEP);
      }
      if (FEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEP);
      }
      if (SEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEP);
      }
      if (AEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEP);
      }
      if (LEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEP);
      }
      if (DEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEP);
      }
      if (WEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEI);
      }
      if (FEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEI);
      }
      if (SEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEI);
      }
      if (AEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEI);
      }
      if (LEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEI);
      }
      if (DEI != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEI);
      }
      if (WEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEE);
      }
      if (FEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEE);
      }
      if (SEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEE);
      }
      if (AEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEE);
      }
      if (LEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEE);
      }
      if (DEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEE);
      }
      if (WER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WER);
      }
      if (FER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FER);
      }
      if (SER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SER);
      }
      if (AER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AER);
      }
      if (LER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LER);
      }
      if (DER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DER);
      }
      if (Toughness != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Toughness);
      }
      if (Suppress != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Suppress);
      }
      if (RCDMARKDMG != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RCDMARKDMG);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterValueTemplete other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.TemplateId != 0) {
        TemplateId = other.TemplateId;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Lv != 0) {
        Lv = other.Lv;
      }
      if (other.Hp != 0) {
        Hp = other.Hp;
      }
      if (other.Atk != 0) {
        Atk = other.Atk;
      }
      if (other.Def != 0) {
        Def = other.Def;
      }
      if (other.CritRate != 0) {
        CritRate = other.CritRate;
      }
      if (other.NormalCritRate != 0) {
        NormalCritRate = other.NormalCritRate;
      }
      if (other.SkillCritRate != 0) {
        SkillCritRate = other.SkillCritRate;
      }
      if (other.UltraCritRate != 0) {
        UltraCritRate = other.UltraCritRate;
      }
      if (other.MarkCritRate != 0) {
        MarkCritRate = other.MarkCritRate;
      }
      if (other.SummonCritRate != 0) {
        SummonCritRate = other.SummonCritRate;
      }
      if (other.ProjectileCritRate != 0) {
        ProjectileCritRate = other.ProjectileCritRate;
      }
      if (other.OtherCritRate != 0) {
        OtherCritRate = other.OtherCritRate;
      }
      if (other.CritResistance != 0) {
        CritResistance = other.CritResistance;
      }
      if (other.CritPower != 0) {
        CritPower = other.CritPower;
      }
      if (other.NormalCritPower != 0) {
        NormalCritPower = other.NormalCritPower;
      }
      if (other.SkillCritPower != 0) {
        SkillCritPower = other.SkillCritPower;
      }
      if (other.UltraCritPower != 0) {
        UltraCritPower = other.UltraCritPower;
      }
      if (other.MarkCritPower != 0) {
        MarkCritPower = other.MarkCritPower;
      }
      if (other.SummonCritPower != 0) {
        SummonCritPower = other.SummonCritPower;
      }
      if (other.ProjectileCritPower != 0) {
        ProjectileCritPower = other.ProjectileCritPower;
      }
      if (other.OtherCritPower != 0) {
        OtherCritPower = other.OtherCritPower;
      }
      if (other.HitRate != 0) {
        HitRate = other.HitRate;
      }
      if (other.Evd != 0) {
        Evd = other.Evd;
      }
      if (other.AtkSpd != 0) {
        AtkSpd = other.AtkSpd;
      }
      if (other.DefPierce != 0) {
        DefPierce = other.DefPierce;
      }
      if (other.DefIgnore != 0) {
        DefIgnore = other.DefIgnore;
      }
      if (other.WEP != 0) {
        WEP = other.WEP;
      }
      if (other.FEP != 0) {
        FEP = other.FEP;
      }
      if (other.SEP != 0) {
        SEP = other.SEP;
      }
      if (other.AEP != 0) {
        AEP = other.AEP;
      }
      if (other.LEP != 0) {
        LEP = other.LEP;
      }
      if (other.DEP != 0) {
        DEP = other.DEP;
      }
      if (other.WEI != 0) {
        WEI = other.WEI;
      }
      if (other.FEI != 0) {
        FEI = other.FEI;
      }
      if (other.SEI != 0) {
        SEI = other.SEI;
      }
      if (other.AEI != 0) {
        AEI = other.AEI;
      }
      if (other.LEI != 0) {
        LEI = other.LEI;
      }
      if (other.DEI != 0) {
        DEI = other.DEI;
      }
      if (other.WEE != 0) {
        WEE = other.WEE;
      }
      if (other.FEE != 0) {
        FEE = other.FEE;
      }
      if (other.SEE != 0) {
        SEE = other.SEE;
      }
      if (other.AEE != 0) {
        AEE = other.AEE;
      }
      if (other.LEE != 0) {
        LEE = other.LEE;
      }
      if (other.DEE != 0) {
        DEE = other.DEE;
      }
      if (other.WER != 0) {
        WER = other.WER;
      }
      if (other.FER != 0) {
        FER = other.FER;
      }
      if (other.SER != 0) {
        SER = other.SER;
      }
      if (other.AER != 0) {
        AER = other.AER;
      }
      if (other.LER != 0) {
        LER = other.LER;
      }
      if (other.DER != 0) {
        DER = other.DER;
      }
      if (other.Toughness != 0) {
        Toughness = other.Toughness;
      }
      if (other.Suppress != 0) {
        Suppress = other.Suppress;
      }
      if (other.RCDMARKDMG != 0) {
        RCDMARKDMG = other.RCDMARKDMG;
      }
      _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.ReadInt64();
            break;
          }
          case 16: {
            TemplateId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            Lv = input.ReadInt32();
            break;
          }
          case 40: {
            Hp = input.ReadInt32();
            break;
          }
          case 48: {
            Atk = input.ReadInt32();
            break;
          }
          case 56: {
            Def = input.ReadInt32();
            break;
          }
          case 64: {
            CritRate = input.ReadInt32();
            break;
          }
          case 72: {
            NormalCritRate = input.ReadInt32();
            break;
          }
          case 80: {
            SkillCritRate = input.ReadInt32();
            break;
          }
          case 88: {
            UltraCritRate = input.ReadInt32();
            break;
          }
          case 96: {
            MarkCritRate = input.ReadInt32();
            break;
          }
          case 104: {
            SummonCritRate = input.ReadInt32();
            break;
          }
          case 112: {
            ProjectileCritRate = input.ReadInt32();
            break;
          }
          case 120: {
            OtherCritRate = input.ReadInt32();
            break;
          }
          case 128: {
            CritResistance = input.ReadInt32();
            break;
          }
          case 136: {
            CritPower = input.ReadInt32();
            break;
          }
          case 144: {
            NormalCritPower = input.ReadInt32();
            break;
          }
          case 152: {
            SkillCritPower = input.ReadInt32();
            break;
          }
          case 160: {
            UltraCritPower = input.ReadInt32();
            break;
          }
          case 168: {
            MarkCritPower = input.ReadInt32();
            break;
          }
          case 176: {
            SummonCritPower = input.ReadInt32();
            break;
          }
          case 184: {
            ProjectileCritPower = input.ReadInt32();
            break;
          }
          case 192: {
            OtherCritPower = input.ReadInt32();
            break;
          }
          case 200: {
            HitRate = input.ReadInt32();
            break;
          }
          case 208: {
            Evd = input.ReadInt32();
            break;
          }
          case 216: {
            AtkSpd = input.ReadInt32();
            break;
          }
          case 224: {
            DefPierce = input.ReadInt32();
            break;
          }
          case 232: {
            DefIgnore = input.ReadInt32();
            break;
          }
          case 240: {
            WEP = input.ReadInt32();
            break;
          }
          case 248: {
            FEP = input.ReadInt32();
            break;
          }
          case 256: {
            SEP = input.ReadInt32();
            break;
          }
          case 264: {
            AEP = input.ReadInt32();
            break;
          }
          case 272: {
            LEP = input.ReadInt32();
            break;
          }
          case 280: {
            DEP = input.ReadInt32();
            break;
          }
          case 288: {
            WEI = input.ReadInt32();
            break;
          }
          case 296: {
            FEI = input.ReadInt32();
            break;
          }
          case 304: {
            SEI = input.ReadInt32();
            break;
          }
          case 312: {
            AEI = input.ReadInt32();
            break;
          }
          case 320: {
            LEI = input.ReadInt32();
            break;
          }
          case 328: {
            DEI = input.ReadInt32();
            break;
          }
          case 336: {
            WEE = input.ReadInt32();
            break;
          }
          case 344: {
            FEE = input.ReadInt32();
            break;
          }
          case 352: {
            SEE = input.ReadInt32();
            break;
          }
          case 360: {
            AEE = input.ReadInt32();
            break;
          }
          case 368: {
            LEE = input.ReadInt32();
            break;
          }
          case 376: {
            DEE = input.ReadInt32();
            break;
          }
          case 384: {
            WER = input.ReadInt32();
            break;
          }
          case 392: {
            FER = input.ReadInt32();
            break;
          }
          case 400: {
            SER = input.ReadInt32();
            break;
          }
          case 408: {
            AER = input.ReadInt32();
            break;
          }
          case 416: {
            LER = input.ReadInt32();
            break;
          }
          case 424: {
            DER = input.ReadInt32();
            break;
          }
          case 432: {
            Toughness = input.ReadInt32();
            break;
          }
          case 440: {
            Suppress = input.ReadInt32();
            break;
          }
          case 448: {
            RCDMARKDMG = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 16: {
            TemplateId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            Lv = input.ReadInt32();
            break;
          }
          case 40: {
            Hp = input.ReadInt32();
            break;
          }
          case 48: {
            Atk = input.ReadInt32();
            break;
          }
          case 56: {
            Def = input.ReadInt32();
            break;
          }
          case 64: {
            CritRate = input.ReadInt32();
            break;
          }
          case 72: {
            NormalCritRate = input.ReadInt32();
            break;
          }
          case 80: {
            SkillCritRate = input.ReadInt32();
            break;
          }
          case 88: {
            UltraCritRate = input.ReadInt32();
            break;
          }
          case 96: {
            MarkCritRate = input.ReadInt32();
            break;
          }
          case 104: {
            SummonCritRate = input.ReadInt32();
            break;
          }
          case 112: {
            ProjectileCritRate = input.ReadInt32();
            break;
          }
          case 120: {
            OtherCritRate = input.ReadInt32();
            break;
          }
          case 128: {
            CritResistance = input.ReadInt32();
            break;
          }
          case 136: {
            CritPower = input.ReadInt32();
            break;
          }
          case 144: {
            NormalCritPower = input.ReadInt32();
            break;
          }
          case 152: {
            SkillCritPower = input.ReadInt32();
            break;
          }
          case 160: {
            UltraCritPower = input.ReadInt32();
            break;
          }
          case 168: {
            MarkCritPower = input.ReadInt32();
            break;
          }
          case 176: {
            SummonCritPower = input.ReadInt32();
            break;
          }
          case 184: {
            ProjectileCritPower = input.ReadInt32();
            break;
          }
          case 192: {
            OtherCritPower = input.ReadInt32();
            break;
          }
          case 200: {
            HitRate = input.ReadInt32();
            break;
          }
          case 208: {
            Evd = input.ReadInt32();
            break;
          }
          case 216: {
            AtkSpd = input.ReadInt32();
            break;
          }
          case 224: {
            DefPierce = input.ReadInt32();
            break;
          }
          case 232: {
            DefIgnore = input.ReadInt32();
            break;
          }
          case 240: {
            WEP = input.ReadInt32();
            break;
          }
          case 248: {
            FEP = input.ReadInt32();
            break;
          }
          case 256: {
            SEP = input.ReadInt32();
            break;
          }
          case 264: {
            AEP = input.ReadInt32();
            break;
          }
          case 272: {
            LEP = input.ReadInt32();
            break;
          }
          case 280: {
            DEP = input.ReadInt32();
            break;
          }
          case 288: {
            WEI = input.ReadInt32();
            break;
          }
          case 296: {
            FEI = input.ReadInt32();
            break;
          }
          case 304: {
            SEI = input.ReadInt32();
            break;
          }
          case 312: {
            AEI = input.ReadInt32();
            break;
          }
          case 320: {
            LEI = input.ReadInt32();
            break;
          }
          case 328: {
            DEI = input.ReadInt32();
            break;
          }
          case 336: {
            WEE = input.ReadInt32();
            break;
          }
          case 344: {
            FEE = input.ReadInt32();
            break;
          }
          case 352: {
            SEE = input.ReadInt32();
            break;
          }
          case 360: {
            AEE = input.ReadInt32();
            break;
          }
          case 368: {
            LEE = input.ReadInt32();
            break;
          }
          case 376: {
            DEE = input.ReadInt32();
            break;
          }
          case 384: {
            WER = input.ReadInt32();
            break;
          }
          case 392: {
            FER = input.ReadInt32();
            break;
          }
          case 400: {
            SER = input.ReadInt32();
            break;
          }
          case 408: {
            AER = input.ReadInt32();
            break;
          }
          case 416: {
            LER = input.ReadInt32();
            break;
          }
          case 424: {
            DER = input.ReadInt32();
            break;
          }
          case 432: {
            Toughness = input.ReadInt32();
            break;
          }
          case 440: {
            Suppress = input.ReadInt32();
            break;
          }
          case 448: {
            RCDMARKDMG = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterValueTemplete : pb::IMessage<table_MonsterValueTemplete>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterValueTemplete> _parser = new pb::MessageParser<table_MonsterValueTemplete>(() => new table_MonsterValueTemplete());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterValueTemplete> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[285]; }
    }

    [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 table_MonsterValueTemplete() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterValueTemplete(table_MonsterValueTemplete other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterValueTemplete Clone() {
      return new table_MonsterValueTemplete(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterValueTemplete> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterValueTemplete.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterValueTemplete> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterValueTemplete>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterValueTemplete> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterValueTemplete);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterValueTemplete other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterValueTemplete other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonsterValueTempleteAdjust : pb::IMessage<MonsterValueTempleteAdjust>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonsterValueTempleteAdjust> _parser = new pb::MessageParser<MonsterValueTempleteAdjust>(() => new MonsterValueTempleteAdjust());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonsterValueTempleteAdjust> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[286]; }
    }

    [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 MonsterValueTempleteAdjust() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterValueTempleteAdjust(MonsterValueTempleteAdjust other) : this() {
      id_ = other.id_;
      templateId_ = other.templateId_;
      name_ = other.name_;
      eET_ = other.eET_;
      weakEET_ = other.weakEET_.Clone();
      hpRatio_ = other.hpRatio_;
      hpFix_ = other.hpFix_;
      atkRatio_ = other.atkRatio_;
      atkFix_ = other.atkFix_;
      wERRatio_ = other.wERRatio_;
      wERFix_ = other.wERFix_;
      fERRatio_ = other.fERRatio_;
      fERFix_ = other.fERFix_;
      sERRatio_ = other.sERRatio_;
      sERFix_ = other.sERFix_;
      aERRatio_ = other.aERRatio_;
      aERFix_ = other.aERFix_;
      lERRatio_ = other.lERRatio_;
      lERFix_ = other.lERFix_;
      dERRatio_ = other.dERRatio_;
      dERFix_ = other.dERFix_;
      toughnessRatio_ = other.toughnessRatio_;
      toughnessFix_ = other.toughnessFix_;
      suppressRatio_ = other.suppressRatio_;
      suppressFix_ = other.suppressFix_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonsterValueTempleteAdjust Clone() {
      return new MonsterValueTempleteAdjust(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private long id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public long Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "TemplateId" field.</summary>
    public const int TemplateIdFieldNumber = 2;
    private int templateId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TemplateId {
      get { return templateId_; }
      set {
        templateId_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 4;
    private int eET_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EET {
      get { return eET_; }
      set {
        eET_ = value;
      }
    }

    /// <summary>Field number for the "WeakEET" field.</summary>
    public const int WeakEETFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_weakEET_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> weakEET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> WeakEET {
      get { return weakEET_; }
    }

    /// <summary>Field number for the "HpRatio" field.</summary>
    public const int HpRatioFieldNumber = 6;
    private int hpRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HpRatio {
      get { return hpRatio_; }
      set {
        hpRatio_ = value;
      }
    }

    /// <summary>Field number for the "HpFix" field.</summary>
    public const int HpFixFieldNumber = 7;
    private int hpFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HpFix {
      get { return hpFix_; }
      set {
        hpFix_ = value;
      }
    }

    /// <summary>Field number for the "AtkRatio" field.</summary>
    public const int AtkRatioFieldNumber = 8;
    private int atkRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AtkRatio {
      get { return atkRatio_; }
      set {
        atkRatio_ = value;
      }
    }

    /// <summary>Field number for the "AtkFix" field.</summary>
    public const int AtkFixFieldNumber = 9;
    private int atkFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AtkFix {
      get { return atkFix_; }
      set {
        atkFix_ = value;
      }
    }

    /// <summary>Field number for the "WERRatio" field.</summary>
    public const int WERRatioFieldNumber = 10;
    private int wERRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WERRatio {
      get { return wERRatio_; }
      set {
        wERRatio_ = value;
      }
    }

    /// <summary>Field number for the "WERFix" field.</summary>
    public const int WERFixFieldNumber = 11;
    private int wERFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WERFix {
      get { return wERFix_; }
      set {
        wERFix_ = value;
      }
    }

    /// <summary>Field number for the "FERRatio" field.</summary>
    public const int FERRatioFieldNumber = 12;
    private int fERRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FERRatio {
      get { return fERRatio_; }
      set {
        fERRatio_ = value;
      }
    }

    /// <summary>Field number for the "FERFix" field.</summary>
    public const int FERFixFieldNumber = 13;
    private int fERFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FERFix {
      get { return fERFix_; }
      set {
        fERFix_ = value;
      }
    }

    /// <summary>Field number for the "SERRatio" field.</summary>
    public const int SERRatioFieldNumber = 14;
    private int sERRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SERRatio {
      get { return sERRatio_; }
      set {
        sERRatio_ = value;
      }
    }

    /// <summary>Field number for the "SERFix" field.</summary>
    public const int SERFixFieldNumber = 15;
    private int sERFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SERFix {
      get { return sERFix_; }
      set {
        sERFix_ = value;
      }
    }

    /// <summary>Field number for the "AERRatio" field.</summary>
    public const int AERRatioFieldNumber = 16;
    private int aERRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AERRatio {
      get { return aERRatio_; }
      set {
        aERRatio_ = value;
      }
    }

    /// <summary>Field number for the "AERFix" field.</summary>
    public const int AERFixFieldNumber = 17;
    private int aERFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AERFix {
      get { return aERFix_; }
      set {
        aERFix_ = value;
      }
    }

    /// <summary>Field number for the "LERRatio" field.</summary>
    public const int LERRatioFieldNumber = 18;
    private int lERRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LERRatio {
      get { return lERRatio_; }
      set {
        lERRatio_ = value;
      }
    }

    /// <summary>Field number for the "LERFix" field.</summary>
    public const int LERFixFieldNumber = 19;
    private int lERFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LERFix {
      get { return lERFix_; }
      set {
        lERFix_ = value;
      }
    }

    /// <summary>Field number for the "DERRatio" field.</summary>
    public const int DERRatioFieldNumber = 20;
    private int dERRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DERRatio {
      get { return dERRatio_; }
      set {
        dERRatio_ = value;
      }
    }

    /// <summary>Field number for the "DERFix" field.</summary>
    public const int DERFixFieldNumber = 21;
    private int dERFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DERFix {
      get { return dERFix_; }
      set {
        dERFix_ = value;
      }
    }

    /// <summary>Field number for the "ToughnessRatio" field.</summary>
    public const int ToughnessRatioFieldNumber = 22;
    private int toughnessRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToughnessRatio {
      get { return toughnessRatio_; }
      set {
        toughnessRatio_ = value;
      }
    }

    /// <summary>Field number for the "ToughnessFix" field.</summary>
    public const int ToughnessFixFieldNumber = 23;
    private int toughnessFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToughnessFix {
      get { return toughnessFix_; }
      set {
        toughnessFix_ = value;
      }
    }

    /// <summary>Field number for the "SuppressRatio" field.</summary>
    public const int SuppressRatioFieldNumber = 24;
    private int suppressRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SuppressRatio {
      get { return suppressRatio_; }
      set {
        suppressRatio_ = value;
      }
    }

    /// <summary>Field number for the "SuppressFix" field.</summary>
    public const int SuppressFixFieldNumber = 25;
    private int suppressFix_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SuppressFix {
      get { return suppressFix_; }
      set {
        suppressFix_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MonsterValueTempleteAdjust);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonsterValueTempleteAdjust other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (TemplateId != other.TemplateId) return false;
      if (Name != other.Name) return false;
      if (EET != other.EET) return false;
      if(!weakEET_.Equals(other.weakEET_)) return false;
      if (HpRatio != other.HpRatio) return false;
      if (HpFix != other.HpFix) return false;
      if (AtkRatio != other.AtkRatio) return false;
      if (AtkFix != other.AtkFix) return false;
      if (WERRatio != other.WERRatio) return false;
      if (WERFix != other.WERFix) return false;
      if (FERRatio != other.FERRatio) return false;
      if (FERFix != other.FERFix) return false;
      if (SERRatio != other.SERRatio) return false;
      if (SERFix != other.SERFix) return false;
      if (AERRatio != other.AERRatio) return false;
      if (AERFix != other.AERFix) return false;
      if (LERRatio != other.LERRatio) return false;
      if (LERFix != other.LERFix) return false;
      if (DERRatio != other.DERRatio) return false;
      if (DERFix != other.DERFix) return false;
      if (ToughnessRatio != other.ToughnessRatio) return false;
      if (ToughnessFix != other.ToughnessFix) return false;
      if (SuppressRatio != other.SuppressRatio) return false;
      if (SuppressFix != other.SuppressFix) 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 != 0L) hash ^= Id.GetHashCode();
      if (TemplateId != 0) hash ^= TemplateId.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (EET != 0) hash ^= EET.GetHashCode();
      hash ^= weakEET_.GetHashCode();
      if (HpRatio != 0) hash ^= HpRatio.GetHashCode();
      if (HpFix != 0) hash ^= HpFix.GetHashCode();
      if (AtkRatio != 0) hash ^= AtkRatio.GetHashCode();
      if (AtkFix != 0) hash ^= AtkFix.GetHashCode();
      if (WERRatio != 0) hash ^= WERRatio.GetHashCode();
      if (WERFix != 0) hash ^= WERFix.GetHashCode();
      if (FERRatio != 0) hash ^= FERRatio.GetHashCode();
      if (FERFix != 0) hash ^= FERFix.GetHashCode();
      if (SERRatio != 0) hash ^= SERRatio.GetHashCode();
      if (SERFix != 0) hash ^= SERFix.GetHashCode();
      if (AERRatio != 0) hash ^= AERRatio.GetHashCode();
      if (AERFix != 0) hash ^= AERFix.GetHashCode();
      if (LERRatio != 0) hash ^= LERRatio.GetHashCode();
      if (LERFix != 0) hash ^= LERFix.GetHashCode();
      if (DERRatio != 0) hash ^= DERRatio.GetHashCode();
      if (DERFix != 0) hash ^= DERFix.GetHashCode();
      if (ToughnessRatio != 0) hash ^= ToughnessRatio.GetHashCode();
      if (ToughnessFix != 0) hash ^= ToughnessFix.GetHashCode();
      if (SuppressRatio != 0) hash ^= SuppressRatio.GetHashCode();
      if (SuppressFix != 0) hash ^= SuppressFix.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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TemplateId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (EET != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EET);
      }
      weakEET_.WriteTo(output, _repeated_weakEET_codec);
      if (HpRatio != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(HpRatio);
      }
      if (HpFix != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(HpFix);
      }
      if (AtkRatio != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AtkRatio);
      }
      if (AtkFix != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(AtkFix);
      }
      if (WERRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(WERRatio);
      }
      if (WERFix != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(WERFix);
      }
      if (FERRatio != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(FERRatio);
      }
      if (FERFix != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(FERFix);
      }
      if (SERRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(SERRatio);
      }
      if (SERFix != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(SERFix);
      }
      if (AERRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AERRatio);
      }
      if (AERFix != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(AERFix);
      }
      if (LERRatio != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(LERRatio);
      }
      if (LERFix != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(LERFix);
      }
      if (DERRatio != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DERRatio);
      }
      if (DERFix != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(DERFix);
      }
      if (ToughnessRatio != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(ToughnessRatio);
      }
      if (ToughnessFix != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ToughnessFix);
      }
      if (SuppressRatio != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(SuppressRatio);
      }
      if (SuppressFix != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(SuppressFix);
      }
      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 != 0L) {
        output.WriteRawTag(8);
        output.WriteInt64(Id);
      }
      if (TemplateId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(TemplateId);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (EET != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EET);
      }
      weakEET_.WriteTo(ref output, _repeated_weakEET_codec);
      if (HpRatio != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(HpRatio);
      }
      if (HpFix != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(HpFix);
      }
      if (AtkRatio != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AtkRatio);
      }
      if (AtkFix != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(AtkFix);
      }
      if (WERRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(WERRatio);
      }
      if (WERFix != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(WERFix);
      }
      if (FERRatio != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(FERRatio);
      }
      if (FERFix != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(FERFix);
      }
      if (SERRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(SERRatio);
      }
      if (SERFix != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(SERFix);
      }
      if (AERRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(AERRatio);
      }
      if (AERFix != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(AERFix);
      }
      if (LERRatio != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(LERRatio);
      }
      if (LERFix != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(LERFix);
      }
      if (DERRatio != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DERRatio);
      }
      if (DERFix != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(DERFix);
      }
      if (ToughnessRatio != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(ToughnessRatio);
      }
      if (ToughnessFix != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ToughnessFix);
      }
      if (SuppressRatio != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(SuppressRatio);
      }
      if (SuppressFix != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(SuppressFix);
      }
      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 != 0L) {
        size += 1 + pb::CodedOutputStream.ComputeInt64Size(Id);
      }
      if (TemplateId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TemplateId);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (EET != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EET);
      }
      size += weakEET_.CalculateSize(_repeated_weakEET_codec);
      if (HpRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(HpRatio);
      }
      if (HpFix != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(HpFix);
      }
      if (AtkRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AtkRatio);
      }
      if (AtkFix != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AtkFix);
      }
      if (WERRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WERRatio);
      }
      if (WERFix != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WERFix);
      }
      if (FERRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FERRatio);
      }
      if (FERFix != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FERFix);
      }
      if (SERRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SERRatio);
      }
      if (SERFix != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SERFix);
      }
      if (AERRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AERRatio);
      }
      if (AERFix != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AERFix);
      }
      if (LERRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LERRatio);
      }
      if (LERFix != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LERFix);
      }
      if (DERRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DERRatio);
      }
      if (DERFix != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DERFix);
      }
      if (ToughnessRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToughnessRatio);
      }
      if (ToughnessFix != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToughnessFix);
      }
      if (SuppressRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SuppressRatio);
      }
      if (SuppressFix != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SuppressFix);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonsterValueTempleteAdjust other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0L) {
        Id = other.Id;
      }
      if (other.TemplateId != 0) {
        TemplateId = other.TemplateId;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.EET != 0) {
        EET = other.EET;
      }
      weakEET_.Add(other.weakEET_);
      if (other.HpRatio != 0) {
        HpRatio = other.HpRatio;
      }
      if (other.HpFix != 0) {
        HpFix = other.HpFix;
      }
      if (other.AtkRatio != 0) {
        AtkRatio = other.AtkRatio;
      }
      if (other.AtkFix != 0) {
        AtkFix = other.AtkFix;
      }
      if (other.WERRatio != 0) {
        WERRatio = other.WERRatio;
      }
      if (other.WERFix != 0) {
        WERFix = other.WERFix;
      }
      if (other.FERRatio != 0) {
        FERRatio = other.FERRatio;
      }
      if (other.FERFix != 0) {
        FERFix = other.FERFix;
      }
      if (other.SERRatio != 0) {
        SERRatio = other.SERRatio;
      }
      if (other.SERFix != 0) {
        SERFix = other.SERFix;
      }
      if (other.AERRatio != 0) {
        AERRatio = other.AERRatio;
      }
      if (other.AERFix != 0) {
        AERFix = other.AERFix;
      }
      if (other.LERRatio != 0) {
        LERRatio = other.LERRatio;
      }
      if (other.LERFix != 0) {
        LERFix = other.LERFix;
      }
      if (other.DERRatio != 0) {
        DERRatio = other.DERRatio;
      }
      if (other.DERFix != 0) {
        DERFix = other.DERFix;
      }
      if (other.ToughnessRatio != 0) {
        ToughnessRatio = other.ToughnessRatio;
      }
      if (other.ToughnessFix != 0) {
        ToughnessFix = other.ToughnessFix;
      }
      if (other.SuppressRatio != 0) {
        SuppressRatio = other.SuppressRatio;
      }
      if (other.SuppressFix != 0) {
        SuppressFix = other.SuppressFix;
      }
      _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.ReadInt64();
            break;
          }
          case 16: {
            TemplateId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            EET = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            weakEET_.AddEntriesFrom(input, _repeated_weakEET_codec);
            break;
          }
          case 48: {
            HpRatio = input.ReadInt32();
            break;
          }
          case 56: {
            HpFix = input.ReadInt32();
            break;
          }
          case 64: {
            AtkRatio = input.ReadInt32();
            break;
          }
          case 72: {
            AtkFix = input.ReadInt32();
            break;
          }
          case 80: {
            WERRatio = input.ReadInt32();
            break;
          }
          case 88: {
            WERFix = input.ReadInt32();
            break;
          }
          case 96: {
            FERRatio = input.ReadInt32();
            break;
          }
          case 104: {
            FERFix = input.ReadInt32();
            break;
          }
          case 112: {
            SERRatio = input.ReadInt32();
            break;
          }
          case 120: {
            SERFix = input.ReadInt32();
            break;
          }
          case 128: {
            AERRatio = input.ReadInt32();
            break;
          }
          case 136: {
            AERFix = input.ReadInt32();
            break;
          }
          case 144: {
            LERRatio = input.ReadInt32();
            break;
          }
          case 152: {
            LERFix = input.ReadInt32();
            break;
          }
          case 160: {
            DERRatio = input.ReadInt32();
            break;
          }
          case 168: {
            DERFix = input.ReadInt32();
            break;
          }
          case 176: {
            ToughnessRatio = input.ReadInt32();
            break;
          }
          case 184: {
            ToughnessFix = input.ReadInt32();
            break;
          }
          case 192: {
            SuppressRatio = input.ReadInt32();
            break;
          }
          case 200: {
            SuppressFix = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt64();
            break;
          }
          case 16: {
            TemplateId = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            EET = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            weakEET_.AddEntriesFrom(ref input, _repeated_weakEET_codec);
            break;
          }
          case 48: {
            HpRatio = input.ReadInt32();
            break;
          }
          case 56: {
            HpFix = input.ReadInt32();
            break;
          }
          case 64: {
            AtkRatio = input.ReadInt32();
            break;
          }
          case 72: {
            AtkFix = input.ReadInt32();
            break;
          }
          case 80: {
            WERRatio = input.ReadInt32();
            break;
          }
          case 88: {
            WERFix = input.ReadInt32();
            break;
          }
          case 96: {
            FERRatio = input.ReadInt32();
            break;
          }
          case 104: {
            FERFix = input.ReadInt32();
            break;
          }
          case 112: {
            SERRatio = input.ReadInt32();
            break;
          }
          case 120: {
            SERFix = input.ReadInt32();
            break;
          }
          case 128: {
            AERRatio = input.ReadInt32();
            break;
          }
          case 136: {
            AERFix = input.ReadInt32();
            break;
          }
          case 144: {
            LERRatio = input.ReadInt32();
            break;
          }
          case 152: {
            LERFix = input.ReadInt32();
            break;
          }
          case 160: {
            DERRatio = input.ReadInt32();
            break;
          }
          case 168: {
            DERFix = input.ReadInt32();
            break;
          }
          case 176: {
            ToughnessRatio = input.ReadInt32();
            break;
          }
          case 184: {
            ToughnessFix = input.ReadInt32();
            break;
          }
          case 192: {
            SuppressRatio = input.ReadInt32();
            break;
          }
          case 200: {
            SuppressFix = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonsterValueTempleteAdjust : pb::IMessage<table_MonsterValueTempleteAdjust>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonsterValueTempleteAdjust> _parser = new pb::MessageParser<table_MonsterValueTempleteAdjust>(() => new table_MonsterValueTempleteAdjust());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonsterValueTempleteAdjust> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[287]; }
    }

    [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 table_MonsterValueTempleteAdjust() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterValueTempleteAdjust(table_MonsterValueTempleteAdjust other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonsterValueTempleteAdjust Clone() {
      return new table_MonsterValueTempleteAdjust(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonsterValueTempleteAdjust> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonsterValueTempleteAdjust.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonsterValueTempleteAdjust> list_ = new pbc::RepeatedField<global::Nova.Client.MonsterValueTempleteAdjust>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonsterValueTempleteAdjust> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonsterValueTempleteAdjust);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonsterValueTempleteAdjust other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonsterValueTempleteAdjust other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class MonthlyCard : pb::IMessage<MonthlyCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<MonthlyCard> _parser = new pb::MessageParser<MonthlyCard>(() => new MonthlyCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<MonthlyCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[288]; }
    }

    [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 MonthlyCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonthlyCard(MonthlyCard other) : this() {
      id_ = other.id_;
      cardId_ = other.cardId_;
      rewardId1_ = other.rewardId1_;
      rewardNum1_ = other.rewardNum1_;
      rewardId2_ = other.rewardId2_;
      rewardNum2_ = other.rewardNum2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public MonthlyCard Clone() {
      return new MonthlyCard(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CardId" field.</summary>
    public const int CardIdFieldNumber = 2;
    private int cardId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CardId {
      get { return cardId_; }
      set {
        cardId_ = value;
      }
    }

    /// <summary>Field number for the "RewardId1" field.</summary>
    public const int RewardId1FieldNumber = 3;
    private int rewardId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardId1 {
      get { return rewardId1_; }
      set {
        rewardId1_ = value;
      }
    }

    /// <summary>Field number for the "RewardNum1" field.</summary>
    public const int RewardNum1FieldNumber = 4;
    private int rewardNum1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardNum1 {
      get { return rewardNum1_; }
      set {
        rewardNum1_ = value;
      }
    }

    /// <summary>Field number for the "RewardId2" field.</summary>
    public const int RewardId2FieldNumber = 5;
    private int rewardId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardId2 {
      get { return rewardId2_; }
      set {
        rewardId2_ = value;
      }
    }

    /// <summary>Field number for the "RewardNum2" field.</summary>
    public const int RewardNum2FieldNumber = 6;
    private int rewardNum2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardNum2 {
      get { return rewardNum2_; }
      set {
        rewardNum2_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as MonthlyCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(MonthlyCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CardId != other.CardId) return false;
      if (RewardId1 != other.RewardId1) return false;
      if (RewardNum1 != other.RewardNum1) return false;
      if (RewardId2 != other.RewardId2) return false;
      if (RewardNum2 != other.RewardNum2) 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 (CardId != 0) hash ^= CardId.GetHashCode();
      if (RewardId1 != 0) hash ^= RewardId1.GetHashCode();
      if (RewardNum1 != 0) hash ^= RewardNum1.GetHashCode();
      if (RewardId2 != 0) hash ^= RewardId2.GetHashCode();
      if (RewardNum2 != 0) hash ^= RewardNum2.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.WriteInt32(Id);
      }
      if (CardId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CardId);
      }
      if (RewardId1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RewardId1);
      }
      if (RewardNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RewardNum1);
      }
      if (RewardId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RewardId2);
      }
      if (RewardNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RewardNum2);
      }
      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.WriteInt32(Id);
      }
      if (CardId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CardId);
      }
      if (RewardId1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RewardId1);
      }
      if (RewardNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RewardNum1);
      }
      if (RewardId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RewardId2);
      }
      if (RewardNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RewardNum2);
      }
      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.ComputeInt32Size(Id);
      }
      if (CardId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CardId);
      }
      if (RewardId1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardId1);
      }
      if (RewardNum1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardNum1);
      }
      if (RewardId2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardId2);
      }
      if (RewardNum2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardNum2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(MonthlyCard other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CardId != 0) {
        CardId = other.CardId;
      }
      if (other.RewardId1 != 0) {
        RewardId1 = other.RewardId1;
      }
      if (other.RewardNum1 != 0) {
        RewardNum1 = other.RewardNum1;
      }
      if (other.RewardId2 != 0) {
        RewardId2 = other.RewardId2;
      }
      if (other.RewardNum2 != 0) {
        RewardNum2 = other.RewardNum2;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CardId = input.ReadInt32();
            break;
          }
          case 24: {
            RewardId1 = input.ReadInt32();
            break;
          }
          case 32: {
            RewardNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            RewardId2 = input.ReadInt32();
            break;
          }
          case 48: {
            RewardNum2 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CardId = input.ReadInt32();
            break;
          }
          case 24: {
            RewardId1 = input.ReadInt32();
            break;
          }
          case 32: {
            RewardNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            RewardId2 = input.ReadInt32();
            break;
          }
          case 48: {
            RewardNum2 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_MonthlyCard : pb::IMessage<table_MonthlyCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_MonthlyCard> _parser = new pb::MessageParser<table_MonthlyCard>(() => new table_MonthlyCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_MonthlyCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[289]; }
    }

    [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 table_MonthlyCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonthlyCard(table_MonthlyCard other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_MonthlyCard Clone() {
      return new table_MonthlyCard(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.MonthlyCard> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.MonthlyCard.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.MonthlyCard> list_ = new pbc::RepeatedField<global::Nova.Client.MonthlyCard>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.MonthlyCard> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_MonthlyCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_MonthlyCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_MonthlyCard other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Note : pb::IMessage<Note>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Note> _parser = new pb::MessageParser<Note>(() => new Note());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Note> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[290]; }
    }

    [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 Note() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Note(Note other) : this() {
      id_ = other.id_;
      note_ = other.note_;
      style1_ = other.style1_;
      style2_ = other.style2_;
      style3_ = other.style3_;
      style4_ = other.style4_;
      style5_ = other.style5_;
      style6_ = other.style6_;
      style7_ = other.style7_;
      style8_ = other.style8_;
      color_ = other.color_;
      name1_ = other.name1_;
      name2_ = other.name2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Note Clone() {
      return new Note(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Note" field.</summary>
    public const int Note_FieldNumber = 2;
    private int note_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Note_ {
      get { return note_; }
      set {
        note_ = value;
      }
    }

    /// <summary>Field number for the "Style1" field.</summary>
    public const int Style1FieldNumber = 3;
    private string style1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style1 {
      get { return style1_; }
      set {
        style1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Style2" field.</summary>
    public const int Style2FieldNumber = 4;
    private string style2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style2 {
      get { return style2_; }
      set {
        style2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Style3" field.</summary>
    public const int Style3FieldNumber = 5;
    private string style3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style3 {
      get { return style3_; }
      set {
        style3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Style4" field.</summary>
    public const int Style4FieldNumber = 6;
    private string style4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style4 {
      get { return style4_; }
      set {
        style4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Style5" field.</summary>
    public const int Style5FieldNumber = 7;
    private string style5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style5 {
      get { return style5_; }
      set {
        style5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Style6" field.</summary>
    public const int Style6FieldNumber = 8;
    private string style6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style6 {
      get { return style6_; }
      set {
        style6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Style7" field.</summary>
    public const int Style7FieldNumber = 9;
    private string style7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style7 {
      get { return style7_; }
      set {
        style7_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Style8" field.</summary>
    public const int Style8FieldNumber = 10;
    private string style8_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Style8 {
      get { return style8_; }
      set {
        style8_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Color" field.</summary>
    public const int ColorFieldNumber = 11;
    private string color_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Color {
      get { return color_; }
      set {
        color_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name1" field.</summary>
    public const int Name1FieldNumber = 12;
    private string name1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name1 {
      get { return name1_; }
      set {
        name1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name2" field.</summary>
    public const int Name2FieldNumber = 13;
    private string name2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name2 {
      get { return name2_; }
      set {
        name2_ = 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 Note);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Note other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Note_ != other.Note_) return false;
      if (Style1 != other.Style1) return false;
      if (Style2 != other.Style2) return false;
      if (Style3 != other.Style3) return false;
      if (Style4 != other.Style4) return false;
      if (Style5 != other.Style5) return false;
      if (Style6 != other.Style6) return false;
      if (Style7 != other.Style7) return false;
      if (Style8 != other.Style8) return false;
      if (Color != other.Color) return false;
      if (Name1 != other.Name1) return false;
      if (Name2 != other.Name2) 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 (Note_ != 0) hash ^= Note_.GetHashCode();
      if (Style1.Length != 0) hash ^= Style1.GetHashCode();
      if (Style2.Length != 0) hash ^= Style2.GetHashCode();
      if (Style3.Length != 0) hash ^= Style3.GetHashCode();
      if (Style4.Length != 0) hash ^= Style4.GetHashCode();
      if (Style5.Length != 0) hash ^= Style5.GetHashCode();
      if (Style6.Length != 0) hash ^= Style6.GetHashCode();
      if (Style7.Length != 0) hash ^= Style7.GetHashCode();
      if (Style8.Length != 0) hash ^= Style8.GetHashCode();
      if (Color.Length != 0) hash ^= Color.GetHashCode();
      if (Name1.Length != 0) hash ^= Name1.GetHashCode();
      if (Name2.Length != 0) hash ^= Name2.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.WriteInt32(Id);
      }
      if (Note_ != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Note_);
      }
      if (Style1.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Style1);
      }
      if (Style2.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Style2);
      }
      if (Style3.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Style3);
      }
      if (Style4.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Style4);
      }
      if (Style5.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Style5);
      }
      if (Style6.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Style6);
      }
      if (Style7.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Style7);
      }
      if (Style8.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Style8);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Color);
      }
      if (Name1.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Name1);
      }
      if (Name2.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Name2);
      }
      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.WriteInt32(Id);
      }
      if (Note_ != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Note_);
      }
      if (Style1.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Style1);
      }
      if (Style2.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Style2);
      }
      if (Style3.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Style3);
      }
      if (Style4.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Style4);
      }
      if (Style5.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Style5);
      }
      if (Style6.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Style6);
      }
      if (Style7.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Style7);
      }
      if (Style8.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Style8);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Color);
      }
      if (Name1.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Name1);
      }
      if (Name2.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Name2);
      }
      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.ComputeInt32Size(Id);
      }
      if (Note_ != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Note_);
      }
      if (Style1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style1);
      }
      if (Style2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style2);
      }
      if (Style3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style3);
      }
      if (Style4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style4);
      }
      if (Style5.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style5);
      }
      if (Style6.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style6);
      }
      if (Style7.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style7);
      }
      if (Style8.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Style8);
      }
      if (Color.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Color);
      }
      if (Name1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name1);
      }
      if (Name2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Note other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Note_ != 0) {
        Note_ = other.Note_;
      }
      if (other.Style1.Length != 0) {
        Style1 = other.Style1;
      }
      if (other.Style2.Length != 0) {
        Style2 = other.Style2;
      }
      if (other.Style3.Length != 0) {
        Style3 = other.Style3;
      }
      if (other.Style4.Length != 0) {
        Style4 = other.Style4;
      }
      if (other.Style5.Length != 0) {
        Style5 = other.Style5;
      }
      if (other.Style6.Length != 0) {
        Style6 = other.Style6;
      }
      if (other.Style7.Length != 0) {
        Style7 = other.Style7;
      }
      if (other.Style8.Length != 0) {
        Style8 = other.Style8;
      }
      if (other.Color.Length != 0) {
        Color = other.Color;
      }
      if (other.Name1.Length != 0) {
        Name1 = other.Name1;
      }
      if (other.Name2.Length != 0) {
        Name2 = other.Name2;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Note_ = input.ReadInt32();
            break;
          }
          case 26: {
            Style1 = input.ReadString();
            break;
          }
          case 34: {
            Style2 = input.ReadString();
            break;
          }
          case 42: {
            Style3 = input.ReadString();
            break;
          }
          case 50: {
            Style4 = input.ReadString();
            break;
          }
          case 58: {
            Style5 = input.ReadString();
            break;
          }
          case 66: {
            Style6 = input.ReadString();
            break;
          }
          case 74: {
            Style7 = input.ReadString();
            break;
          }
          case 82: {
            Style8 = input.ReadString();
            break;
          }
          case 90: {
            Color = input.ReadString();
            break;
          }
          case 98: {
            Name1 = input.ReadString();
            break;
          }
          case 106: {
            Name2 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Note_ = input.ReadInt32();
            break;
          }
          case 26: {
            Style1 = input.ReadString();
            break;
          }
          case 34: {
            Style2 = input.ReadString();
            break;
          }
          case 42: {
            Style3 = input.ReadString();
            break;
          }
          case 50: {
            Style4 = input.ReadString();
            break;
          }
          case 58: {
            Style5 = input.ReadString();
            break;
          }
          case 66: {
            Style6 = input.ReadString();
            break;
          }
          case 74: {
            Style7 = input.ReadString();
            break;
          }
          case 82: {
            Style8 = input.ReadString();
            break;
          }
          case 90: {
            Color = input.ReadString();
            break;
          }
          case 98: {
            Name1 = input.ReadString();
            break;
          }
          case 106: {
            Name2 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Note : pb::IMessage<table_Note>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Note> _parser = new pb::MessageParser<table_Note>(() => new table_Note());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Note> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[291]; }
    }

    [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 table_Note() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Note(table_Note other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Note Clone() {
      return new table_Note(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Note> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Note.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Note> list_ = new pbc::RepeatedField<global::Nova.Client.Note>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Note> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Note);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Note other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Note other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class NoteDropGroup : pb::IMessage<NoteDropGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<NoteDropGroup> _parser = new pb::MessageParser<NoteDropGroup>(() => new NoteDropGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<NoteDropGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[292]; }
    }

    [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 NoteDropGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NoteDropGroup(NoteDropGroup other) : this() {
      index_ = other.index_;
      groupId_ = other.groupId_;
      randomNoteRange_ = other.randomNoteRange_.Clone();
      aNoteRange_ = other.aNoteRange_.Clone();
      bNoteRange_ = other.bNoteRange_.Clone();
      cNoteRange_ = other.cNoteRange_.Clone();
      dNoteRange_ = other.dNoteRange_.Clone();
      eNoteRange_ = other.eNoteRange_.Clone();
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NoteDropGroup Clone() {
      return new NoteDropGroup(this);
    }

    /// <summary>Field number for the "Index" field.</summary>
    public const int IndexFieldNumber = 1;
    private int index_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Index {
      get { return index_; }
      set {
        index_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "RandomNoteRange" field.</summary>
    public const int RandomNoteRangeFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_randomNoteRange_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> randomNoteRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> RandomNoteRange {
      get { return randomNoteRange_; }
    }

    /// <summary>Field number for the "ANoteRange" field.</summary>
    public const int ANoteRangeFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_aNoteRange_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> aNoteRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ANoteRange {
      get { return aNoteRange_; }
    }

    /// <summary>Field number for the "BNoteRange" field.</summary>
    public const int BNoteRangeFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_bNoteRange_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> bNoteRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BNoteRange {
      get { return bNoteRange_; }
    }

    /// <summary>Field number for the "CNoteRange" field.</summary>
    public const int CNoteRangeFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_cNoteRange_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> cNoteRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CNoteRange {
      get { return cNoteRange_; }
    }

    /// <summary>Field number for the "DNoteRange" field.</summary>
    public const int DNoteRangeFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_dNoteRange_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> dNoteRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DNoteRange {
      get { return dNoteRange_; }
    }

    /// <summary>Field number for the "ENoteRange" field.</summary>
    public const int ENoteRangeFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_eNoteRange_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> eNoteRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ENoteRange {
      get { return eNoteRange_; }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 9;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 NoteDropGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(NoteDropGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Index != other.Index) return false;
      if (GroupId != other.GroupId) return false;
      if(!randomNoteRange_.Equals(other.randomNoteRange_)) return false;
      if(!aNoteRange_.Equals(other.aNoteRange_)) return false;
      if(!bNoteRange_.Equals(other.bNoteRange_)) return false;
      if(!cNoteRange_.Equals(other.cNoteRange_)) return false;
      if(!dNoteRange_.Equals(other.dNoteRange_)) return false;
      if(!eNoteRange_.Equals(other.eNoteRange_)) return false;
      if (Icon != other.Icon) 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 (Index != 0) hash ^= Index.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      hash ^= randomNoteRange_.GetHashCode();
      hash ^= aNoteRange_.GetHashCode();
      hash ^= bNoteRange_.GetHashCode();
      hash ^= cNoteRange_.GetHashCode();
      hash ^= dNoteRange_.GetHashCode();
      hash ^= eNoteRange_.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.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 (Index != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Index);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      randomNoteRange_.WriteTo(output, _repeated_randomNoteRange_codec);
      aNoteRange_.WriteTo(output, _repeated_aNoteRange_codec);
      bNoteRange_.WriteTo(output, _repeated_bNoteRange_codec);
      cNoteRange_.WriteTo(output, _repeated_cNoteRange_codec);
      dNoteRange_.WriteTo(output, _repeated_dNoteRange_codec);
      eNoteRange_.WriteTo(output, _repeated_eNoteRange_codec);
      if (Icon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Icon);
      }
      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 (Index != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Index);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      randomNoteRange_.WriteTo(ref output, _repeated_randomNoteRange_codec);
      aNoteRange_.WriteTo(ref output, _repeated_aNoteRange_codec);
      bNoteRange_.WriteTo(ref output, _repeated_bNoteRange_codec);
      cNoteRange_.WriteTo(ref output, _repeated_cNoteRange_codec);
      dNoteRange_.WriteTo(ref output, _repeated_dNoteRange_codec);
      eNoteRange_.WriteTo(ref output, _repeated_eNoteRange_codec);
      if (Icon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Icon);
      }
      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 (Index != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      size += randomNoteRange_.CalculateSize(_repeated_randomNoteRange_codec);
      size += aNoteRange_.CalculateSize(_repeated_aNoteRange_codec);
      size += bNoteRange_.CalculateSize(_repeated_bNoteRange_codec);
      size += cNoteRange_.CalculateSize(_repeated_cNoteRange_codec);
      size += dNoteRange_.CalculateSize(_repeated_dNoteRange_codec);
      size += eNoteRange_.CalculateSize(_repeated_eNoteRange_codec);
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(NoteDropGroup other) {
      if (other == null) {
        return;
      }
      if (other.Index != 0) {
        Index = other.Index;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      randomNoteRange_.Add(other.randomNoteRange_);
      aNoteRange_.Add(other.aNoteRange_);
      bNoteRange_.Add(other.bNoteRange_);
      cNoteRange_.Add(other.cNoteRange_);
      dNoteRange_.Add(other.dNoteRange_);
      eNoteRange_.Add(other.eNoteRange_);
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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: {
            Index = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            randomNoteRange_.AddEntriesFrom(input, _repeated_randomNoteRange_codec);
            break;
          }
          case 34:
          case 32: {
            aNoteRange_.AddEntriesFrom(input, _repeated_aNoteRange_codec);
            break;
          }
          case 42:
          case 40: {
            bNoteRange_.AddEntriesFrom(input, _repeated_bNoteRange_codec);
            break;
          }
          case 50:
          case 48: {
            cNoteRange_.AddEntriesFrom(input, _repeated_cNoteRange_codec);
            break;
          }
          case 58:
          case 56: {
            dNoteRange_.AddEntriesFrom(input, _repeated_dNoteRange_codec);
            break;
          }
          case 66:
          case 64: {
            eNoteRange_.AddEntriesFrom(input, _repeated_eNoteRange_codec);
            break;
          }
          case 74: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Index = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            randomNoteRange_.AddEntriesFrom(ref input, _repeated_randomNoteRange_codec);
            break;
          }
          case 34:
          case 32: {
            aNoteRange_.AddEntriesFrom(ref input, _repeated_aNoteRange_codec);
            break;
          }
          case 42:
          case 40: {
            bNoteRange_.AddEntriesFrom(ref input, _repeated_bNoteRange_codec);
            break;
          }
          case 50:
          case 48: {
            cNoteRange_.AddEntriesFrom(ref input, _repeated_cNoteRange_codec);
            break;
          }
          case 58:
          case 56: {
            dNoteRange_.AddEntriesFrom(ref input, _repeated_dNoteRange_codec);
            break;
          }
          case 66:
          case 64: {
            eNoteRange_.AddEntriesFrom(ref input, _repeated_eNoteRange_codec);
            break;
          }
          case 74: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_NoteDropGroup : pb::IMessage<table_NoteDropGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_NoteDropGroup> _parser = new pb::MessageParser<table_NoteDropGroup>(() => new table_NoteDropGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_NoteDropGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[293]; }
    }

    [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 table_NoteDropGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_NoteDropGroup(table_NoteDropGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_NoteDropGroup Clone() {
      return new table_NoteDropGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.NoteDropGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.NoteDropGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.NoteDropGroup> list_ = new pbc::RepeatedField<global::Nova.Client.NoteDropGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.NoteDropGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_NoteDropGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_NoteDropGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_NoteDropGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class NPCConfig : pb::IMessage<NPCConfig>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<NPCConfig> _parser = new pb::MessageParser<NPCConfig>(() => new NPCConfig());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<NPCConfig> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[294]; }
    }

    [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 NPCConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NPCConfig(NPCConfig other) : this() {
      id_ = other.id_;
      type_ = other.type_;
      name_ = other.name_;
      desc_ = other.desc_;
      literary_ = other.literary_;
      refreshPoint_ = other.refreshPoint_;
      firstLines_ = other.firstLines_;
      lines_ = other.lines_.Clone();
      chat_ = other.chat_.Clone();
      chatProp_ = other.chatProp_;
      chatTime_ = other.chatTime_;
      nPCId_ = other.nPCId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NPCConfig Clone() {
      return new NPCConfig(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "type" field.</summary>
    public const int TypeFieldNumber = 2;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Literary" field.</summary>
    public const int LiteraryFieldNumber = 5;
    private string literary_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Literary {
      get { return literary_; }
      set {
        literary_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RefreshPoint" field.</summary>
    public const int RefreshPointFieldNumber = 6;
    private int refreshPoint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefreshPoint {
      get { return refreshPoint_; }
      set {
        refreshPoint_ = value;
      }
    }

    /// <summary>Field number for the "FirstLines" field.</summary>
    public const int FirstLinesFieldNumber = 7;
    private int firstLines_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FirstLines {
      get { return firstLines_; }
      set {
        firstLines_ = value;
      }
    }

    /// <summary>Field number for the "Lines" field.</summary>
    public const int LinesFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_lines_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> lines_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Lines {
      get { return lines_; }
    }

    /// <summary>Field number for the "Chat" field.</summary>
    public const int ChatFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_chat_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> chat_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Chat {
      get { return chat_; }
    }

    /// <summary>Field number for the "ChatProp" field.</summary>
    public const int ChatPropFieldNumber = 10;
    private int chatProp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ChatProp {
      get { return chatProp_; }
      set {
        chatProp_ = value;
      }
    }

    /// <summary>Field number for the "ChatTime" field.</summary>
    public const int ChatTimeFieldNumber = 11;
    private int chatTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ChatTime {
      get { return chatTime_; }
      set {
        chatTime_ = value;
      }
    }

    /// <summary>Field number for the "NPCId" field.</summary>
    public const int NPCIdFieldNumber = 12;
    private int nPCId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NPCId {
      get { return nPCId_; }
      set {
        nPCId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as NPCConfig);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(NPCConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Type != other.Type) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Literary != other.Literary) return false;
      if (RefreshPoint != other.RefreshPoint) return false;
      if (FirstLines != other.FirstLines) return false;
      if(!lines_.Equals(other.lines_)) return false;
      if(!chat_.Equals(other.chat_)) return false;
      if (ChatProp != other.ChatProp) return false;
      if (ChatTime != other.ChatTime) return false;
      if (NPCId != other.NPCId) 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 (Type != 0) hash ^= Type.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Literary.Length != 0) hash ^= Literary.GetHashCode();
      if (RefreshPoint != 0) hash ^= RefreshPoint.GetHashCode();
      if (FirstLines != 0) hash ^= FirstLines.GetHashCode();
      hash ^= lines_.GetHashCode();
      hash ^= chat_.GetHashCode();
      if (ChatProp != 0) hash ^= ChatProp.GetHashCode();
      if (ChatTime != 0) hash ^= ChatTime.GetHashCode();
      if (NPCId != 0) hash ^= NPCId.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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Literary.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Literary);
      }
      if (RefreshPoint != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RefreshPoint);
      }
      if (FirstLines != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FirstLines);
      }
      lines_.WriteTo(output, _repeated_lines_codec);
      chat_.WriteTo(output, _repeated_chat_codec);
      if (ChatProp != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ChatProp);
      }
      if (ChatTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ChatTime);
      }
      if (NPCId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(NPCId);
      }
      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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Literary.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Literary);
      }
      if (RefreshPoint != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RefreshPoint);
      }
      if (FirstLines != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FirstLines);
      }
      lines_.WriteTo(ref output, _repeated_lines_codec);
      chat_.WriteTo(ref output, _repeated_chat_codec);
      if (ChatProp != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ChatProp);
      }
      if (ChatTime != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(ChatTime);
      }
      if (NPCId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(NPCId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Literary.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Literary);
      }
      if (RefreshPoint != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefreshPoint);
      }
      if (FirstLines != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FirstLines);
      }
      size += lines_.CalculateSize(_repeated_lines_codec);
      size += chat_.CalculateSize(_repeated_chat_codec);
      if (ChatProp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChatProp);
      }
      if (ChatTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ChatTime);
      }
      if (NPCId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NPCId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(NPCConfig other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Literary.Length != 0) {
        Literary = other.Literary;
      }
      if (other.RefreshPoint != 0) {
        RefreshPoint = other.RefreshPoint;
      }
      if (other.FirstLines != 0) {
        FirstLines = other.FirstLines;
      }
      lines_.Add(other.lines_);
      chat_.Add(other.chat_);
      if (other.ChatProp != 0) {
        ChatProp = other.ChatProp;
      }
      if (other.ChatTime != 0) {
        ChatTime = other.ChatTime;
      }
      if (other.NPCId != 0) {
        NPCId = other.NPCId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            Literary = input.ReadString();
            break;
          }
          case 48: {
            RefreshPoint = input.ReadInt32();
            break;
          }
          case 56: {
            FirstLines = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            lines_.AddEntriesFrom(input, _repeated_lines_codec);
            break;
          }
          case 74:
          case 72: {
            chat_.AddEntriesFrom(input, _repeated_chat_codec);
            break;
          }
          case 80: {
            ChatProp = input.ReadInt32();
            break;
          }
          case 88: {
            ChatTime = input.ReadInt32();
            break;
          }
          case 96: {
            NPCId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            Literary = input.ReadString();
            break;
          }
          case 48: {
            RefreshPoint = input.ReadInt32();
            break;
          }
          case 56: {
            FirstLines = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            lines_.AddEntriesFrom(ref input, _repeated_lines_codec);
            break;
          }
          case 74:
          case 72: {
            chat_.AddEntriesFrom(ref input, _repeated_chat_codec);
            break;
          }
          case 80: {
            ChatProp = input.ReadInt32();
            break;
          }
          case 88: {
            ChatTime = input.ReadInt32();
            break;
          }
          case 96: {
            NPCId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_NPCConfig : pb::IMessage<table_NPCConfig>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_NPCConfig> _parser = new pb::MessageParser<table_NPCConfig>(() => new table_NPCConfig());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_NPCConfig> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[295]; }
    }

    [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 table_NPCConfig() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_NPCConfig(table_NPCConfig other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_NPCConfig Clone() {
      return new table_NPCConfig(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.NPCConfig> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.NPCConfig.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.NPCConfig> list_ = new pbc::RepeatedField<global::Nova.Client.NPCConfig>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.NPCConfig> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_NPCConfig);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_NPCConfig other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_NPCConfig other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class NPCSkin : pb::IMessage<NPCSkin>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<NPCSkin> _parser = new pb::MessageParser<NPCSkin>(() => new NPCSkin());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<NPCSkin> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[296]; }
    }

    [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 NPCSkin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NPCSkin(NPCSkin other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      isShow_ = other.isShow_;
      charId_ = other.charId_;
      type_ = other.type_;
      sourceDesc_ = other.sourceDesc_;
      icon_ = other.icon_;
      smallPortrait_ = other.smallPortrait_;
      modelScale_ = other.modelScale_;
      model_ = other.model_;
      portrait_ = other.portrait_;
      bg_ = other.bg_;
      offset_ = other.offset_;
      l2D_ = other.l2D_;
      fullScreenPortrait_ = other.fullScreenPortrait_;
      skinTheme_ = other.skinTheme_;
      interactiveAction_ = other.interactiveAction_;
      interactiveActionId_ = other.interactiveActionId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public NPCSkin Clone() {
      return new NPCSkin(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsShow" field.</summary>
    public const int IsShowFieldNumber = 4;
    private bool isShow_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsShow {
      get { return isShow_; }
      set {
        isShow_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 5;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 6;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "SourceDesc" field.</summary>
    public const int SourceDescFieldNumber = 7;
    private int sourceDesc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SourceDesc {
      get { return sourceDesc_; }
      set {
        sourceDesc_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 8;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SmallPortrait" field.</summary>
    public const int SmallPortraitFieldNumber = 9;
    private string smallPortrait_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SmallPortrait {
      get { return smallPortrait_; }
      set {
        smallPortrait_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ModelScale" field.</summary>
    public const int ModelScaleFieldNumber = 10;
    private int modelScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ModelScale {
      get { return modelScale_; }
      set {
        modelScale_ = value;
      }
    }

    /// <summary>Field number for the "Model" field.</summary>
    public const int ModelFieldNumber = 11;
    private string model_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Model {
      get { return model_; }
      set {
        model_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Portrait" field.</summary>
    public const int PortraitFieldNumber = 12;
    private string portrait_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Portrait {
      get { return portrait_; }
      set {
        portrait_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bg" field.</summary>
    public const int BgFieldNumber = 13;
    private string bg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Bg {
      get { return bg_; }
      set {
        bg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Offset" field.</summary>
    public const int OffsetFieldNumber = 14;
    private string offset_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Offset {
      get { return offset_; }
      set {
        offset_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "L2D" field.</summary>
    public const int L2DFieldNumber = 15;
    private string l2D_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string L2D {
      get { return l2D_; }
      set {
        l2D_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FullScreenPortrait" field.</summary>
    public const int FullScreenPortraitFieldNumber = 16;
    private string fullScreenPortrait_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FullScreenPortrait {
      get { return fullScreenPortrait_; }
      set {
        fullScreenPortrait_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SkinTheme" field.</summary>
    public const int SkinThemeFieldNumber = 17;
    private int skinTheme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkinTheme {
      get { return skinTheme_; }
      set {
        skinTheme_ = value;
      }
    }

    /// <summary>Field number for the "InteractiveAction" field.</summary>
    public const int InteractiveActionFieldNumber = 18;
    private bool interactiveAction_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool InteractiveAction {
      get { return interactiveAction_; }
      set {
        interactiveAction_ = value;
      }
    }

    /// <summary>Field number for the "InteractiveActionId" field.</summary>
    public const int InteractiveActionIdFieldNumber = 19;
    private int interactiveActionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int InteractiveActionId {
      get { return interactiveActionId_; }
      set {
        interactiveActionId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as NPCSkin);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(NPCSkin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (IsShow != other.IsShow) return false;
      if (CharId != other.CharId) return false;
      if (Type != other.Type) return false;
      if (SourceDesc != other.SourceDesc) return false;
      if (Icon != other.Icon) return false;
      if (SmallPortrait != other.SmallPortrait) return false;
      if (ModelScale != other.ModelScale) return false;
      if (Model != other.Model) return false;
      if (Portrait != other.Portrait) return false;
      if (Bg != other.Bg) return false;
      if (Offset != other.Offset) return false;
      if (L2D != other.L2D) return false;
      if (FullScreenPortrait != other.FullScreenPortrait) return false;
      if (SkinTheme != other.SkinTheme) return false;
      if (InteractiveAction != other.InteractiveAction) return false;
      if (InteractiveActionId != other.InteractiveActionId) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (IsShow != false) hash ^= IsShow.GetHashCode();
      if (CharId != 0) hash ^= CharId.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (SourceDesc != 0) hash ^= SourceDesc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (SmallPortrait.Length != 0) hash ^= SmallPortrait.GetHashCode();
      if (ModelScale != 0) hash ^= ModelScale.GetHashCode();
      if (Model.Length != 0) hash ^= Model.GetHashCode();
      if (Portrait.Length != 0) hash ^= Portrait.GetHashCode();
      if (Bg.Length != 0) hash ^= Bg.GetHashCode();
      if (Offset.Length != 0) hash ^= Offset.GetHashCode();
      if (L2D.Length != 0) hash ^= L2D.GetHashCode();
      if (FullScreenPortrait.Length != 0) hash ^= FullScreenPortrait.GetHashCode();
      if (SkinTheme != 0) hash ^= SkinTheme.GetHashCode();
      if (InteractiveAction != false) hash ^= InteractiveAction.GetHashCode();
      if (InteractiveActionId != 0) hash ^= InteractiveActionId.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (IsShow != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsShow);
      }
      if (CharId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CharId);
      }
      if (Type != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Type);
      }
      if (SourceDesc != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SourceDesc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (SmallPortrait.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(SmallPortrait);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ModelScale);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Model);
      }
      if (Portrait.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Portrait);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Bg);
      }
      if (Offset.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Offset);
      }
      if (L2D.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(L2D);
      }
      if (FullScreenPortrait.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(FullScreenPortrait);
      }
      if (SkinTheme != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(SkinTheme);
      }
      if (InteractiveAction != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(InteractiveAction);
      }
      if (InteractiveActionId != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(InteractiveActionId);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (IsShow != false) {
        output.WriteRawTag(32);
        output.WriteBool(IsShow);
      }
      if (CharId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(CharId);
      }
      if (Type != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Type);
      }
      if (SourceDesc != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SourceDesc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (SmallPortrait.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(SmallPortrait);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ModelScale);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Model);
      }
      if (Portrait.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Portrait);
      }
      if (Bg.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Bg);
      }
      if (Offset.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Offset);
      }
      if (L2D.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(L2D);
      }
      if (FullScreenPortrait.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(FullScreenPortrait);
      }
      if (SkinTheme != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(SkinTheme);
      }
      if (InteractiveAction != false) {
        output.WriteRawTag(144, 1);
        output.WriteBool(InteractiveAction);
      }
      if (InteractiveActionId != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(InteractiveActionId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (IsShow != false) {
        size += 1 + 1;
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (SourceDesc != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SourceDesc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (SmallPortrait.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SmallPortrait);
      }
      if (ModelScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModelScale);
      }
      if (Model.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Model);
      }
      if (Portrait.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Portrait);
      }
      if (Bg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Bg);
      }
      if (Offset.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Offset);
      }
      if (L2D.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(L2D);
      }
      if (FullScreenPortrait.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(FullScreenPortrait);
      }
      if (SkinTheme != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkinTheme);
      }
      if (InteractiveAction != false) {
        size += 2 + 1;
      }
      if (InteractiveActionId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(InteractiveActionId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(NPCSkin other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.IsShow != false) {
        IsShow = other.IsShow;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.SourceDesc != 0) {
        SourceDesc = other.SourceDesc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.SmallPortrait.Length != 0) {
        SmallPortrait = other.SmallPortrait;
      }
      if (other.ModelScale != 0) {
        ModelScale = other.ModelScale;
      }
      if (other.Model.Length != 0) {
        Model = other.Model;
      }
      if (other.Portrait.Length != 0) {
        Portrait = other.Portrait;
      }
      if (other.Bg.Length != 0) {
        Bg = other.Bg;
      }
      if (other.Offset.Length != 0) {
        Offset = other.Offset;
      }
      if (other.L2D.Length != 0) {
        L2D = other.L2D;
      }
      if (other.FullScreenPortrait.Length != 0) {
        FullScreenPortrait = other.FullScreenPortrait;
      }
      if (other.SkinTheme != 0) {
        SkinTheme = other.SkinTheme;
      }
      if (other.InteractiveAction != false) {
        InteractiveAction = other.InteractiveAction;
      }
      if (other.InteractiveActionId != 0) {
        InteractiveActionId = other.InteractiveActionId;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            IsShow = input.ReadBool();
            break;
          }
          case 40: {
            CharId = input.ReadInt32();
            break;
          }
          case 48: {
            Type = input.ReadInt32();
            break;
          }
          case 56: {
            SourceDesc = input.ReadInt32();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 74: {
            SmallPortrait = input.ReadString();
            break;
          }
          case 80: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 90: {
            Model = input.ReadString();
            break;
          }
          case 98: {
            Portrait = input.ReadString();
            break;
          }
          case 106: {
            Bg = input.ReadString();
            break;
          }
          case 114: {
            Offset = input.ReadString();
            break;
          }
          case 122: {
            L2D = input.ReadString();
            break;
          }
          case 130: {
            FullScreenPortrait = input.ReadString();
            break;
          }
          case 136: {
            SkinTheme = input.ReadInt32();
            break;
          }
          case 144: {
            InteractiveAction = input.ReadBool();
            break;
          }
          case 152: {
            InteractiveActionId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            IsShow = input.ReadBool();
            break;
          }
          case 40: {
            CharId = input.ReadInt32();
            break;
          }
          case 48: {
            Type = input.ReadInt32();
            break;
          }
          case 56: {
            SourceDesc = input.ReadInt32();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 74: {
            SmallPortrait = input.ReadString();
            break;
          }
          case 80: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 90: {
            Model = input.ReadString();
            break;
          }
          case 98: {
            Portrait = input.ReadString();
            break;
          }
          case 106: {
            Bg = input.ReadString();
            break;
          }
          case 114: {
            Offset = input.ReadString();
            break;
          }
          case 122: {
            L2D = input.ReadString();
            break;
          }
          case 130: {
            FullScreenPortrait = input.ReadString();
            break;
          }
          case 136: {
            SkinTheme = input.ReadInt32();
            break;
          }
          case 144: {
            InteractiveAction = input.ReadBool();
            break;
          }
          case 152: {
            InteractiveActionId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_NPCSkin : pb::IMessage<table_NPCSkin>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_NPCSkin> _parser = new pb::MessageParser<table_NPCSkin>(() => new table_NPCSkin());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_NPCSkin> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[297]; }
    }

    [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 table_NPCSkin() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_NPCSkin(table_NPCSkin other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_NPCSkin Clone() {
      return new table_NPCSkin(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.NPCSkin> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.NPCSkin.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.NPCSkin> list_ = new pbc::RepeatedField<global::Nova.Client.NPCSkin>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.NPCSkin> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_NPCSkin);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_NPCSkin other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_NPCSkin other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class OnceAdditionalAttribute : pb::IMessage<OnceAdditionalAttribute>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<OnceAdditionalAttribute> _parser = new pb::MessageParser<OnceAdditionalAttribute>(() => new OnceAdditionalAttribute());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<OnceAdditionalAttribute> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[298]; }
    }

    [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 OnceAdditionalAttribute() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OnceAdditionalAttribute(OnceAdditionalAttribute other) : this() {
      id_ = other.id_;
      levelTypeData_ = other.levelTypeData_;
      levelData_ = other.levelData_;
      mainOrSupport_ = other.mainOrSupport_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OnceAdditionalAttribute Clone() {
      return new OnceAdditionalAttribute(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "levelTypeData" field.</summary>
    public const int LevelTypeDataFieldNumber = 2;
    private int levelTypeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelTypeData {
      get { return levelTypeData_; }
      set {
        levelTypeData_ = value;
      }
    }

    /// <summary>Field number for the "LevelData" field.</summary>
    public const int LevelDataFieldNumber = 3;
    private int levelData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelData {
      get { return levelData_; }
      set {
        levelData_ = value;
      }
    }

    /// <summary>Field number for the "MainOrSupport" field.</summary>
    public const int MainOrSupportFieldNumber = 4;
    private int mainOrSupport_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainOrSupport {
      get { return mainOrSupport_; }
      set {
        mainOrSupport_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as OnceAdditionalAttribute);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(OnceAdditionalAttribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (LevelTypeData != other.LevelTypeData) return false;
      if (LevelData != other.LevelData) return false;
      if (MainOrSupport != other.MainOrSupport) 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 (LevelTypeData != 0) hash ^= LevelTypeData.GetHashCode();
      if (LevelData != 0) hash ^= LevelData.GetHashCode();
      if (MainOrSupport != 0) hash ^= MainOrSupport.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.WriteInt32(Id);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MainOrSupport);
      }
      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.WriteInt32(Id);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MainOrSupport);
      }
      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.ComputeInt32Size(Id);
      }
      if (LevelTypeData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTypeData);
      }
      if (LevelData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelData);
      }
      if (MainOrSupport != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainOrSupport);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(OnceAdditionalAttribute other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.LevelTypeData != 0) {
        LevelTypeData = other.LevelTypeData;
      }
      if (other.LevelData != 0) {
        LevelData = other.LevelData;
      }
      if (other.MainOrSupport != 0) {
        MainOrSupport = other.MainOrSupport;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 24: {
            LevelData = input.ReadInt32();
            break;
          }
          case 32: {
            MainOrSupport = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 24: {
            LevelData = input.ReadInt32();
            break;
          }
          case 32: {
            MainOrSupport = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_OnceAdditionalAttribute : pb::IMessage<table_OnceAdditionalAttribute>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_OnceAdditionalAttribute> _parser = new pb::MessageParser<table_OnceAdditionalAttribute>(() => new table_OnceAdditionalAttribute());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_OnceAdditionalAttribute> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[299]; }
    }

    [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 table_OnceAdditionalAttribute() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_OnceAdditionalAttribute(table_OnceAdditionalAttribute other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_OnceAdditionalAttribute Clone() {
      return new table_OnceAdditionalAttribute(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.OnceAdditionalAttribute> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.OnceAdditionalAttribute.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.OnceAdditionalAttribute> list_ = new pbc::RepeatedField<global::Nova.Client.OnceAdditionalAttribute>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.OnceAdditionalAttribute> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_OnceAdditionalAttribute);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_OnceAdditionalAttribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_OnceAdditionalAttribute other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class OnceAdditionalAttributeValue : pb::IMessage<OnceAdditionalAttributeValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<OnceAdditionalAttributeValue> _parser = new pb::MessageParser<OnceAdditionalAttributeValue>(() => new OnceAdditionalAttributeValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<OnceAdditionalAttributeValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[300]; }
    }

    [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 OnceAdditionalAttributeValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OnceAdditionalAttributeValue(OnceAdditionalAttributeValue other) : this() {
      id_ = other.id_;
      attributeType1_ = other.attributeType1_;
      parameterType1_ = other.parameterType1_;
      value1_ = other.value1_;
      attributeType2_ = other.attributeType2_;
      parameterType2_ = other.parameterType2_;
      value2_ = other.value2_;
      attributeType3_ = other.attributeType3_;
      parameterType3_ = other.parameterType3_;
      value3_ = other.value3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OnceAdditionalAttributeValue Clone() {
      return new OnceAdditionalAttributeValue(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "AttributeType1" field.</summary>
    public const int AttributeType1FieldNumber = 2;
    private int attributeType1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttributeType1 {
      get { return attributeType1_; }
      set {
        attributeType1_ = value;
      }
    }

    /// <summary>Field number for the "ParameterType1" field.</summary>
    public const int ParameterType1FieldNumber = 3;
    private int parameterType1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ParameterType1 {
      get { return parameterType1_; }
      set {
        parameterType1_ = value;
      }
    }

    /// <summary>Field number for the "Value1" field.</summary>
    public const int Value1FieldNumber = 4;
    private int value1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Value1 {
      get { return value1_; }
      set {
        value1_ = value;
      }
    }

    /// <summary>Field number for the "AttributeType2" field.</summary>
    public const int AttributeType2FieldNumber = 5;
    private int attributeType2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttributeType2 {
      get { return attributeType2_; }
      set {
        attributeType2_ = value;
      }
    }

    /// <summary>Field number for the "ParameterType2" field.</summary>
    public const int ParameterType2FieldNumber = 6;
    private int parameterType2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ParameterType2 {
      get { return parameterType2_; }
      set {
        parameterType2_ = value;
      }
    }

    /// <summary>Field number for the "Value2" field.</summary>
    public const int Value2FieldNumber = 7;
    private int value2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Value2 {
      get { return value2_; }
      set {
        value2_ = value;
      }
    }

    /// <summary>Field number for the "AttributeType3" field.</summary>
    public const int AttributeType3FieldNumber = 8;
    private int attributeType3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AttributeType3 {
      get { return attributeType3_; }
      set {
        attributeType3_ = value;
      }
    }

    /// <summary>Field number for the "ParameterType3" field.</summary>
    public const int ParameterType3FieldNumber = 9;
    private int parameterType3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ParameterType3 {
      get { return parameterType3_; }
      set {
        parameterType3_ = value;
      }
    }

    /// <summary>Field number for the "Value3" field.</summary>
    public const int Value3FieldNumber = 10;
    private int value3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Value3 {
      get { return value3_; }
      set {
        value3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as OnceAdditionalAttributeValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(OnceAdditionalAttributeValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (AttributeType1 != other.AttributeType1) return false;
      if (ParameterType1 != other.ParameterType1) return false;
      if (Value1 != other.Value1) return false;
      if (AttributeType2 != other.AttributeType2) return false;
      if (ParameterType2 != other.ParameterType2) return false;
      if (Value2 != other.Value2) return false;
      if (AttributeType3 != other.AttributeType3) return false;
      if (ParameterType3 != other.ParameterType3) return false;
      if (Value3 != other.Value3) 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 (AttributeType1 != 0) hash ^= AttributeType1.GetHashCode();
      if (ParameterType1 != 0) hash ^= ParameterType1.GetHashCode();
      if (Value1 != 0) hash ^= Value1.GetHashCode();
      if (AttributeType2 != 0) hash ^= AttributeType2.GetHashCode();
      if (ParameterType2 != 0) hash ^= ParameterType2.GetHashCode();
      if (Value2 != 0) hash ^= Value2.GetHashCode();
      if (AttributeType3 != 0) hash ^= AttributeType3.GetHashCode();
      if (ParameterType3 != 0) hash ^= ParameterType3.GetHashCode();
      if (Value3 != 0) hash ^= Value3.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.WriteInt32(Id);
      }
      if (AttributeType1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AttributeType1);
      }
      if (ParameterType1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ParameterType1);
      }
      if (Value1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Value1);
      }
      if (AttributeType2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AttributeType2);
      }
      if (ParameterType2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ParameterType2);
      }
      if (Value2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Value2);
      }
      if (AttributeType3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AttributeType3);
      }
      if (ParameterType3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(ParameterType3);
      }
      if (Value3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Value3);
      }
      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.WriteInt32(Id);
      }
      if (AttributeType1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(AttributeType1);
      }
      if (ParameterType1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(ParameterType1);
      }
      if (Value1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Value1);
      }
      if (AttributeType2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AttributeType2);
      }
      if (ParameterType2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ParameterType2);
      }
      if (Value2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Value2);
      }
      if (AttributeType3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(AttributeType3);
      }
      if (ParameterType3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(ParameterType3);
      }
      if (Value3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Value3);
      }
      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.ComputeInt32Size(Id);
      }
      if (AttributeType1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttributeType1);
      }
      if (ParameterType1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ParameterType1);
      }
      if (Value1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value1);
      }
      if (AttributeType2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttributeType2);
      }
      if (ParameterType2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ParameterType2);
      }
      if (Value2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value2);
      }
      if (AttributeType3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AttributeType3);
      }
      if (ParameterType3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ParameterType3);
      }
      if (Value3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Value3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(OnceAdditionalAttributeValue other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.AttributeType1 != 0) {
        AttributeType1 = other.AttributeType1;
      }
      if (other.ParameterType1 != 0) {
        ParameterType1 = other.ParameterType1;
      }
      if (other.Value1 != 0) {
        Value1 = other.Value1;
      }
      if (other.AttributeType2 != 0) {
        AttributeType2 = other.AttributeType2;
      }
      if (other.ParameterType2 != 0) {
        ParameterType2 = other.ParameterType2;
      }
      if (other.Value2 != 0) {
        Value2 = other.Value2;
      }
      if (other.AttributeType3 != 0) {
        AttributeType3 = other.AttributeType3;
      }
      if (other.ParameterType3 != 0) {
        ParameterType3 = other.ParameterType3;
      }
      if (other.Value3 != 0) {
        Value3 = other.Value3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            AttributeType1 = input.ReadInt32();
            break;
          }
          case 24: {
            ParameterType1 = input.ReadInt32();
            break;
          }
          case 32: {
            Value1 = input.ReadInt32();
            break;
          }
          case 40: {
            AttributeType2 = input.ReadInt32();
            break;
          }
          case 48: {
            ParameterType2 = input.ReadInt32();
            break;
          }
          case 56: {
            Value2 = input.ReadInt32();
            break;
          }
          case 64: {
            AttributeType3 = input.ReadInt32();
            break;
          }
          case 72: {
            ParameterType3 = input.ReadInt32();
            break;
          }
          case 80: {
            Value3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            AttributeType1 = input.ReadInt32();
            break;
          }
          case 24: {
            ParameterType1 = input.ReadInt32();
            break;
          }
          case 32: {
            Value1 = input.ReadInt32();
            break;
          }
          case 40: {
            AttributeType2 = input.ReadInt32();
            break;
          }
          case 48: {
            ParameterType2 = input.ReadInt32();
            break;
          }
          case 56: {
            Value2 = input.ReadInt32();
            break;
          }
          case 64: {
            AttributeType3 = input.ReadInt32();
            break;
          }
          case 72: {
            ParameterType3 = input.ReadInt32();
            break;
          }
          case 80: {
            Value3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_OnceAdditionalAttributeValue : pb::IMessage<table_OnceAdditionalAttributeValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_OnceAdditionalAttributeValue> _parser = new pb::MessageParser<table_OnceAdditionalAttributeValue>(() => new table_OnceAdditionalAttributeValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_OnceAdditionalAttributeValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[301]; }
    }

    [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 table_OnceAdditionalAttributeValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_OnceAdditionalAttributeValue(table_OnceAdditionalAttributeValue other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_OnceAdditionalAttributeValue Clone() {
      return new table_OnceAdditionalAttributeValue(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.OnceAdditionalAttributeValue> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.OnceAdditionalAttributeValue.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.OnceAdditionalAttributeValue> list_ = new pbc::RepeatedField<global::Nova.Client.OnceAdditionalAttributeValue>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.OnceAdditionalAttributeValue> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_OnceAdditionalAttributeValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_OnceAdditionalAttributeValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_OnceAdditionalAttributeValue other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class OpenFunc : pb::IMessage<OpenFunc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<OpenFunc> _parser = new pb::MessageParser<OpenFunc>(() => new OpenFunc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<OpenFunc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[302]; }
    }

    [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 OpenFunc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OpenFunc(OpenFunc other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      needWorldClass_ = other.needWorldClass_;
      needConditions_ = other.needConditions_;
      needRoguelike_ = other.needRoguelike_;
      popWindows_ = other.popWindows_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      tips_ = other.tips_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public OpenFunc Clone() {
      return new OpenFunc(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NeedWorldClass" field.</summary>
    public const int NeedWorldClassFieldNumber = 3;
    private int needWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedWorldClass {
      get { return needWorldClass_; }
      set {
        needWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "NeedConditions" field.</summary>
    public const int NeedConditionsFieldNumber = 4;
    private int needConditions_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedConditions {
      get { return needConditions_; }
      set {
        needConditions_ = value;
      }
    }

    /// <summary>Field number for the "NeedRoguelike" field.</summary>
    public const int NeedRoguelikeFieldNumber = 5;
    private int needRoguelike_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedRoguelike {
      get { return needRoguelike_; }
      set {
        needRoguelike_ = value;
      }
    }

    /// <summary>Field number for the "PopWindows" field.</summary>
    public const int PopWindowsFieldNumber = 6;
    private bool popWindows_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool PopWindows {
      get { return popWindows_; }
      set {
        popWindows_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 7;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 8;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tips" field.</summary>
    public const int TipsFieldNumber = 9;
    private string tips_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tips {
      get { return tips_; }
      set {
        tips_ = 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 OpenFunc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(OpenFunc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (NeedWorldClass != other.NeedWorldClass) return false;
      if (NeedConditions != other.NeedConditions) return false;
      if (NeedRoguelike != other.NeedRoguelike) return false;
      if (PopWindows != other.PopWindows) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (Tips != other.Tips) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (NeedWorldClass != 0) hash ^= NeedWorldClass.GetHashCode();
      if (NeedConditions != 0) hash ^= NeedConditions.GetHashCode();
      if (NeedRoguelike != 0) hash ^= NeedRoguelike.GetHashCode();
      if (PopWindows != false) hash ^= PopWindows.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Tips.Length != 0) hash ^= Tips.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(NeedWorldClass);
      }
      if (NeedConditions != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NeedConditions);
      }
      if (NeedRoguelike != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(NeedRoguelike);
      }
      if (PopWindows != false) {
        output.WriteRawTag(48);
        output.WriteBool(PopWindows);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (Tips.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Tips);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(NeedWorldClass);
      }
      if (NeedConditions != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NeedConditions);
      }
      if (NeedRoguelike != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(NeedRoguelike);
      }
      if (PopWindows != false) {
        output.WriteRawTag(48);
        output.WriteBool(PopWindows);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (Tips.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Tips);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (NeedWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedWorldClass);
      }
      if (NeedConditions != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedConditions);
      }
      if (NeedRoguelike != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedRoguelike);
      }
      if (PopWindows != false) {
        size += 1 + 1;
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Tips.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Tips);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(OpenFunc other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.NeedWorldClass != 0) {
        NeedWorldClass = other.NeedWorldClass;
      }
      if (other.NeedConditions != 0) {
        NeedConditions = other.NeedConditions;
      }
      if (other.NeedRoguelike != 0) {
        NeedRoguelike = other.NeedRoguelike;
      }
      if (other.PopWindows != false) {
        PopWindows = other.PopWindows;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Tips.Length != 0) {
        Tips = other.Tips;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 32: {
            NeedConditions = input.ReadInt32();
            break;
          }
          case 40: {
            NeedRoguelike = input.ReadInt32();
            break;
          }
          case 48: {
            PopWindows = input.ReadBool();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 74: {
            Tips = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 32: {
            NeedConditions = input.ReadInt32();
            break;
          }
          case 40: {
            NeedRoguelike = input.ReadInt32();
            break;
          }
          case 48: {
            PopWindows = input.ReadBool();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 74: {
            Tips = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_OpenFunc : pb::IMessage<table_OpenFunc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_OpenFunc> _parser = new pb::MessageParser<table_OpenFunc>(() => new table_OpenFunc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_OpenFunc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[303]; }
    }

    [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 table_OpenFunc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_OpenFunc(table_OpenFunc other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_OpenFunc Clone() {
      return new table_OpenFunc(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.OpenFunc> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.OpenFunc.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.OpenFunc> list_ = new pbc::RepeatedField<global::Nova.Client.OpenFunc>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.OpenFunc> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_OpenFunc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_OpenFunc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_OpenFunc other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PeriodicQuest : pb::IMessage<PeriodicQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PeriodicQuest> _parser = new pb::MessageParser<PeriodicQuest>(() => new PeriodicQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PeriodicQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[304]; }
    }

    [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 PeriodicQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PeriodicQuest(PeriodicQuest other) : this() {
      id_ = other.id_;
      belong_ = other.belong_;
      groupid_ = other.groupid_;
      title_ = other.title_;
      jumpTo_ = other.jumpTo_;
      reward_ = other.reward_;
      rewardQty_ = other.rewardQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PeriodicQuest Clone() {
      return new PeriodicQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Belong" field.</summary>
    public const int BelongFieldNumber = 2;
    private int belong_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Belong {
      get { return belong_; }
      set {
        belong_ = value;
      }
    }

    /// <summary>Field number for the "Groupid" field.</summary>
    public const int GroupidFieldNumber = 3;
    private int groupid_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Groupid {
      get { return groupid_; }
      set {
        groupid_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 4;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 5;
    private int jumpTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int JumpTo {
      get { return jumpTo_; }
      set {
        jumpTo_ = value;
      }
    }

    /// <summary>Field number for the "Reward" field.</summary>
    public const int RewardFieldNumber = 6;
    private int reward_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward {
      get { return reward_; }
      set {
        reward_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty" field.</summary>
    public const int RewardQtyFieldNumber = 7;
    private int rewardQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty {
      get { return rewardQty_; }
      set {
        rewardQty_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PeriodicQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PeriodicQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Belong != other.Belong) return false;
      if (Groupid != other.Groupid) return false;
      if (Title != other.Title) return false;
      if (JumpTo != other.JumpTo) return false;
      if (Reward != other.Reward) return false;
      if (RewardQty != other.RewardQty) 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 (Belong != 0) hash ^= Belong.GetHashCode();
      if (Groupid != 0) hash ^= Groupid.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (Reward != 0) hash ^= Reward.GetHashCode();
      if (RewardQty != 0) hash ^= RewardQty.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.WriteInt32(Id);
      }
      if (Belong != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Belong);
      }
      if (Groupid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Groupid);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(JumpTo);
      }
      if (Reward != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Reward);
      }
      if (RewardQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardQty);
      }
      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.WriteInt32(Id);
      }
      if (Belong != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Belong);
      }
      if (Groupid != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Groupid);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(JumpTo);
      }
      if (Reward != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Reward);
      }
      if (RewardQty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardQty);
      }
      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.ComputeInt32Size(Id);
      }
      if (Belong != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Belong);
      }
      if (Groupid != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Groupid);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (Reward != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward);
      }
      if (RewardQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PeriodicQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Belong != 0) {
        Belong = other.Belong;
      }
      if (other.Groupid != 0) {
        Groupid = other.Groupid;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.Reward != 0) {
        Reward = other.Reward;
      }
      if (other.RewardQty != 0) {
        RewardQty = other.RewardQty;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Belong = input.ReadInt32();
            break;
          }
          case 24: {
            Groupid = input.ReadInt32();
            break;
          }
          case 34: {
            Title = input.ReadString();
            break;
          }
          case 40: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 48: {
            Reward = input.ReadInt32();
            break;
          }
          case 56: {
            RewardQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Belong = input.ReadInt32();
            break;
          }
          case 24: {
            Groupid = input.ReadInt32();
            break;
          }
          case 34: {
            Title = input.ReadString();
            break;
          }
          case 40: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 48: {
            Reward = input.ReadInt32();
            break;
          }
          case 56: {
            RewardQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PeriodicQuest : pb::IMessage<table_PeriodicQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PeriodicQuest> _parser = new pb::MessageParser<table_PeriodicQuest>(() => new table_PeriodicQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PeriodicQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[305]; }
    }

    [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 table_PeriodicQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PeriodicQuest(table_PeriodicQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PeriodicQuest Clone() {
      return new table_PeriodicQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PeriodicQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PeriodicQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PeriodicQuest> list_ = new pbc::RepeatedField<global::Nova.Client.PeriodicQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PeriodicQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PeriodicQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PeriodicQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PeriodicQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PeriodicQuestControl : pb::IMessage<PeriodicQuestControl>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PeriodicQuestControl> _parser = new pb::MessageParser<PeriodicQuestControl>(() => new PeriodicQuestControl());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PeriodicQuestControl> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[306]; }
    }

    [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 PeriodicQuestControl() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PeriodicQuestControl(PeriodicQuestControl other) : this() {
      id_ = other.id_;
      finalReward1_ = other.finalReward1_;
      finalRewardQty1_ = other.finalRewardQty1_;
      finalReward2_ = other.finalReward2_;
      finalRewardQty2_ = other.finalRewardQty2_;
      finalReward3_ = other.finalReward3_;
      finalRewardQty3_ = other.finalRewardQty3_;
      desText_ = other.desText_;
      uIAssets_ = other.uIAssets_;
      ctrlName_ = other.ctrlName_;
      previewType_ = other.previewType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PeriodicQuestControl Clone() {
      return new PeriodicQuestControl(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "FinalReward1" field.</summary>
    public const int FinalReward1FieldNumber = 2;
    private int finalReward1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinalReward1 {
      get { return finalReward1_; }
      set {
        finalReward1_ = value;
      }
    }

    /// <summary>Field number for the "FinalRewardQty1" field.</summary>
    public const int FinalRewardQty1FieldNumber = 3;
    private int finalRewardQty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinalRewardQty1 {
      get { return finalRewardQty1_; }
      set {
        finalRewardQty1_ = value;
      }
    }

    /// <summary>Field number for the "FinalReward2" field.</summary>
    public const int FinalReward2FieldNumber = 4;
    private int finalReward2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinalReward2 {
      get { return finalReward2_; }
      set {
        finalReward2_ = value;
      }
    }

    /// <summary>Field number for the "FinalRewardQty2" field.</summary>
    public const int FinalRewardQty2FieldNumber = 5;
    private int finalRewardQty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinalRewardQty2 {
      get { return finalRewardQty2_; }
      set {
        finalRewardQty2_ = value;
      }
    }

    /// <summary>Field number for the "FinalReward3" field.</summary>
    public const int FinalReward3FieldNumber = 6;
    private int finalReward3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinalReward3 {
      get { return finalReward3_; }
      set {
        finalReward3_ = value;
      }
    }

    /// <summary>Field number for the "FinalRewardQty3" field.</summary>
    public const int FinalRewardQty3FieldNumber = 7;
    private int finalRewardQty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinalRewardQty3 {
      get { return finalRewardQty3_; }
      set {
        finalRewardQty3_ = value;
      }
    }

    /// <summary>Field number for the "DesText" field.</summary>
    public const int DesTextFieldNumber = 8;
    private string desText_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DesText {
      get { return desText_; }
      set {
        desText_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UIAssets" field.</summary>
    public const int UIAssetsFieldNumber = 9;
    private string uIAssets_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UIAssets {
      get { return uIAssets_; }
      set {
        uIAssets_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CtrlName" field.</summary>
    public const int CtrlNameFieldNumber = 10;
    private string ctrlName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CtrlName {
      get { return ctrlName_; }
      set {
        ctrlName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PreviewType" field.</summary>
    public const int PreviewTypeFieldNumber = 11;
    private int previewType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewType {
      get { return previewType_; }
      set {
        previewType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PeriodicQuestControl);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PeriodicQuestControl other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (FinalReward1 != other.FinalReward1) return false;
      if (FinalRewardQty1 != other.FinalRewardQty1) return false;
      if (FinalReward2 != other.FinalReward2) return false;
      if (FinalRewardQty2 != other.FinalRewardQty2) return false;
      if (FinalReward3 != other.FinalReward3) return false;
      if (FinalRewardQty3 != other.FinalRewardQty3) return false;
      if (DesText != other.DesText) return false;
      if (UIAssets != other.UIAssets) return false;
      if (CtrlName != other.CtrlName) return false;
      if (PreviewType != other.PreviewType) 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 (FinalReward1 != 0) hash ^= FinalReward1.GetHashCode();
      if (FinalRewardQty1 != 0) hash ^= FinalRewardQty1.GetHashCode();
      if (FinalReward2 != 0) hash ^= FinalReward2.GetHashCode();
      if (FinalRewardQty2 != 0) hash ^= FinalRewardQty2.GetHashCode();
      if (FinalReward3 != 0) hash ^= FinalReward3.GetHashCode();
      if (FinalRewardQty3 != 0) hash ^= FinalRewardQty3.GetHashCode();
      if (DesText.Length != 0) hash ^= DesText.GetHashCode();
      if (UIAssets.Length != 0) hash ^= UIAssets.GetHashCode();
      if (CtrlName.Length != 0) hash ^= CtrlName.GetHashCode();
      if (PreviewType != 0) hash ^= PreviewType.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.WriteInt32(Id);
      }
      if (FinalReward1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FinalReward1);
      }
      if (FinalRewardQty1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FinalRewardQty1);
      }
      if (FinalReward2 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FinalReward2);
      }
      if (FinalRewardQty2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FinalRewardQty2);
      }
      if (FinalReward3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FinalReward3);
      }
      if (FinalRewardQty3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FinalRewardQty3);
      }
      if (DesText.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DesText);
      }
      if (UIAssets.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(UIAssets);
      }
      if (CtrlName.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CtrlName);
      }
      if (PreviewType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(PreviewType);
      }
      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.WriteInt32(Id);
      }
      if (FinalReward1 != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(FinalReward1);
      }
      if (FinalRewardQty1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FinalRewardQty1);
      }
      if (FinalReward2 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FinalReward2);
      }
      if (FinalRewardQty2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FinalRewardQty2);
      }
      if (FinalReward3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FinalReward3);
      }
      if (FinalRewardQty3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FinalRewardQty3);
      }
      if (DesText.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DesText);
      }
      if (UIAssets.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(UIAssets);
      }
      if (CtrlName.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CtrlName);
      }
      if (PreviewType != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(PreviewType);
      }
      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.ComputeInt32Size(Id);
      }
      if (FinalReward1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinalReward1);
      }
      if (FinalRewardQty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinalRewardQty1);
      }
      if (FinalReward2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinalReward2);
      }
      if (FinalRewardQty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinalRewardQty2);
      }
      if (FinalReward3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinalReward3);
      }
      if (FinalRewardQty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinalRewardQty3);
      }
      if (DesText.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DesText);
      }
      if (UIAssets.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UIAssets);
      }
      if (CtrlName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CtrlName);
      }
      if (PreviewType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreviewType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PeriodicQuestControl other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.FinalReward1 != 0) {
        FinalReward1 = other.FinalReward1;
      }
      if (other.FinalRewardQty1 != 0) {
        FinalRewardQty1 = other.FinalRewardQty1;
      }
      if (other.FinalReward2 != 0) {
        FinalReward2 = other.FinalReward2;
      }
      if (other.FinalRewardQty2 != 0) {
        FinalRewardQty2 = other.FinalRewardQty2;
      }
      if (other.FinalReward3 != 0) {
        FinalReward3 = other.FinalReward3;
      }
      if (other.FinalRewardQty3 != 0) {
        FinalRewardQty3 = other.FinalRewardQty3;
      }
      if (other.DesText.Length != 0) {
        DesText = other.DesText;
      }
      if (other.UIAssets.Length != 0) {
        UIAssets = other.UIAssets;
      }
      if (other.CtrlName.Length != 0) {
        CtrlName = other.CtrlName;
      }
      if (other.PreviewType != 0) {
        PreviewType = other.PreviewType;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            FinalReward1 = input.ReadInt32();
            break;
          }
          case 24: {
            FinalRewardQty1 = input.ReadInt32();
            break;
          }
          case 32: {
            FinalReward2 = input.ReadInt32();
            break;
          }
          case 40: {
            FinalRewardQty2 = input.ReadInt32();
            break;
          }
          case 48: {
            FinalReward3 = input.ReadInt32();
            break;
          }
          case 56: {
            FinalRewardQty3 = input.ReadInt32();
            break;
          }
          case 66: {
            DesText = input.ReadString();
            break;
          }
          case 74: {
            UIAssets = input.ReadString();
            break;
          }
          case 82: {
            CtrlName = input.ReadString();
            break;
          }
          case 88: {
            PreviewType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            FinalReward1 = input.ReadInt32();
            break;
          }
          case 24: {
            FinalRewardQty1 = input.ReadInt32();
            break;
          }
          case 32: {
            FinalReward2 = input.ReadInt32();
            break;
          }
          case 40: {
            FinalRewardQty2 = input.ReadInt32();
            break;
          }
          case 48: {
            FinalReward3 = input.ReadInt32();
            break;
          }
          case 56: {
            FinalRewardQty3 = input.ReadInt32();
            break;
          }
          case 66: {
            DesText = input.ReadString();
            break;
          }
          case 74: {
            UIAssets = input.ReadString();
            break;
          }
          case 82: {
            CtrlName = input.ReadString();
            break;
          }
          case 88: {
            PreviewType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PeriodicQuestControl : pb::IMessage<table_PeriodicQuestControl>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PeriodicQuestControl> _parser = new pb::MessageParser<table_PeriodicQuestControl>(() => new table_PeriodicQuestControl());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PeriodicQuestControl> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[307]; }
    }

    [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 table_PeriodicQuestControl() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PeriodicQuestControl(table_PeriodicQuestControl other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PeriodicQuestControl Clone() {
      return new table_PeriodicQuestControl(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PeriodicQuestControl> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PeriodicQuestControl.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PeriodicQuestControl> list_ = new pbc::RepeatedField<global::Nova.Client.PeriodicQuestControl>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PeriodicQuestControl> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PeriodicQuestControl);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PeriodicQuestControl other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PeriodicQuestControl other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PeriodicQuestGroup : pb::IMessage<PeriodicQuestGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PeriodicQuestGroup> _parser = new pb::MessageParser<PeriodicQuestGroup>(() => new PeriodicQuestGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PeriodicQuestGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[308]; }
    }

    [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 PeriodicQuestGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PeriodicQuestGroup(PeriodicQuestGroup other) : this() {
      belong_ = other.belong_;
      groupId_ = other.groupId_;
      unlockTime_ = other.unlockTime_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PeriodicQuestGroup Clone() {
      return new PeriodicQuestGroup(this);
    }

    /// <summary>Field number for the "Belong" field.</summary>
    public const int BelongFieldNumber = 1;
    private int belong_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Belong {
      get { return belong_; }
      set {
        belong_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "UnlockTime" field.</summary>
    public const int UnlockTimeFieldNumber = 3;
    private int unlockTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockTime {
      get { return unlockTime_; }
      set {
        unlockTime_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as PeriodicQuestGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PeriodicQuestGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Belong != other.Belong) return false;
      if (GroupId != other.GroupId) return false;
      if (UnlockTime != other.UnlockTime) 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 (Belong != 0) hash ^= Belong.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (UnlockTime != 0) hash ^= UnlockTime.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 (Belong != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Belong);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (UnlockTime != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(UnlockTime);
      }
      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 (Belong != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Belong);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (UnlockTime != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(UnlockTime);
      }
      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 (Belong != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Belong);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (UnlockTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockTime);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PeriodicQuestGroup other) {
      if (other == null) {
        return;
      }
      if (other.Belong != 0) {
        Belong = other.Belong;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.UnlockTime != 0) {
        UnlockTime = other.UnlockTime;
      }
      _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: {
            Belong = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            UnlockTime = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Belong = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            UnlockTime = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PeriodicQuestGroup : pb::IMessage<table_PeriodicQuestGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PeriodicQuestGroup> _parser = new pb::MessageParser<table_PeriodicQuestGroup>(() => new table_PeriodicQuestGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PeriodicQuestGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[309]; }
    }

    [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 table_PeriodicQuestGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PeriodicQuestGroup(table_PeriodicQuestGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PeriodicQuestGroup Clone() {
      return new table_PeriodicQuestGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PeriodicQuestGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PeriodicQuestGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PeriodicQuestGroup> list_ = new pbc::RepeatedField<global::Nova.Client.PeriodicQuestGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PeriodicQuestGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PeriodicQuestGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PeriodicQuestGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PeriodicQuestGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Perk : pb::IMessage<Perk>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Perk> _parser = new pb::MessageParser<Perk>(() => new Perk());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Perk> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[310]; }
    }

    [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 Perk() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Perk(Perk other) : this() {
      id_ = other.id_;
      maxLevel_ = other.maxLevel_;
      additionalLevel_ = other.additionalLevel_;
      eET_ = other.eET_;
      scoreGroupId_ = other.scoreGroupId_;
      strengthScore_ = other.strengthScore_.Clone();
      perkType_ = other.perkType_;
      charId_ = other.charId_;
      charPerkType_ = other.charPerkType_;
      theme_ = other.theme_;
      gameBookId_ = other.gameBookId_;
      operatingFloorType_ = other.operatingFloorType_.Clone();
      operatingNumber_ = other.operatingNumber_;
      price_ = other.price_;
      slot_ = other.slot_;
      tags_ = other.tags_.Clone();
      prePerkIds_ = other.prePerkIds_.Clone();
      preTagPkgs_ = other.preTagPkgs_;
      needFloor_ = other.needFloor_;
      effectGroupId_ = other.effectGroupId_;
      isEffective_ = other.isEffective_;
      perkTag1_ = other.perkTag1_;
      perkTag2_ = other.perkTag2_;
      perkTag3_ = other.perkTag3_;
      perkTag4_ = other.perkTag4_;
      logoIcon_ = other.logoIcon_;
      slotTag_ = other.slotTag_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Perk Clone() {
      return new Perk(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MaxLevel" field.</summary>
    public const int MaxLevelFieldNumber = 2;
    private int maxLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxLevel {
      get { return maxLevel_; }
      set {
        maxLevel_ = value;
      }
    }

    /// <summary>Field number for the "AdditionalLevel" field.</summary>
    public const int AdditionalLevelFieldNumber = 3;
    private bool additionalLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool AdditionalLevel {
      get { return additionalLevel_; }
      set {
        additionalLevel_ = value;
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 4;
    private int eET_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EET {
      get { return eET_; }
      set {
        eET_ = value;
      }
    }

    /// <summary>Field number for the "ScoreGroupId" field.</summary>
    public const int ScoreGroupIdFieldNumber = 5;
    private int scoreGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ScoreGroupId {
      get { return scoreGroupId_; }
      set {
        scoreGroupId_ = value;
      }
    }

    /// <summary>Field number for the "StrengthScore" field.</summary>
    public const int StrengthScoreFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_strengthScore_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> strengthScore_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> StrengthScore {
      get { return strengthScore_; }
    }

    /// <summary>Field number for the "PerkType" field.</summary>
    public const int PerkTypeFieldNumber = 7;
    private int perkType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PerkType {
      get { return perkType_; }
      set {
        perkType_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 8;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "CharPerkType" field.</summary>
    public const int CharPerkTypeFieldNumber = 9;
    private int charPerkType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharPerkType {
      get { return charPerkType_; }
      set {
        charPerkType_ = value;
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 10;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "GameBookId" field.</summary>
    public const int GameBookIdFieldNumber = 11;
    private int gameBookId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GameBookId {
      get { return gameBookId_; }
      set {
        gameBookId_ = value;
      }
    }

    /// <summary>Field number for the "OperatingFloorType" field.</summary>
    public const int OperatingFloorTypeFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_operatingFloorType_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> operatingFloorType_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> OperatingFloorType {
      get { return operatingFloorType_; }
    }

    /// <summary>Field number for the "OperatingNumber" field.</summary>
    public const int OperatingNumberFieldNumber = 13;
    private int operatingNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OperatingNumber {
      get { return operatingNumber_; }
      set {
        operatingNumber_ = value;
      }
    }

    /// <summary>Field number for the "Price" field.</summary>
    public const int PriceFieldNumber = 14;
    private int price_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Price {
      get { return price_; }
      set {
        price_ = value;
      }
    }

    /// <summary>Field number for the "Slot" field.</summary>
    public const int SlotFieldNumber = 15;
    private int slot_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Slot {
      get { return slot_; }
      set {
        slot_ = value;
      }
    }

    /// <summary>Field number for the "Tags" field.</summary>
    public const int TagsFieldNumber = 16;
    private static readonly pb::FieldCodec<int> _repeated_tags_codec
        = pb::FieldCodec.ForInt32(130);
    private readonly pbc::RepeatedField<int> tags_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Tags {
      get { return tags_; }
    }

    /// <summary>Field number for the "PrePerkIds" field.</summary>
    public const int PrePerkIdsFieldNumber = 17;
    private static readonly pb::FieldCodec<int> _repeated_prePerkIds_codec
        = pb::FieldCodec.ForInt32(138);
    private readonly pbc::RepeatedField<int> prePerkIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PrePerkIds {
      get { return prePerkIds_; }
    }

    /// <summary>Field number for the "PreTagPkgs" field.</summary>
    public const int PreTagPkgsFieldNumber = 18;
    private string preTagPkgs_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PreTagPkgs {
      get { return preTagPkgs_; }
      set {
        preTagPkgs_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NeedFloor" field.</summary>
    public const int NeedFloorFieldNumber = 19;
    private int needFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedFloor {
      get { return needFloor_; }
      set {
        needFloor_ = value;
      }
    }

    /// <summary>Field number for the "EffectGroupId" field.</summary>
    public const int EffectGroupIdFieldNumber = 20;
    private int effectGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectGroupId {
      get { return effectGroupId_; }
      set {
        effectGroupId_ = value;
      }
    }

    /// <summary>Field number for the "IsEffective" field.</summary>
    public const int IsEffectiveFieldNumber = 21;
    private bool isEffective_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsEffective {
      get { return isEffective_; }
      set {
        isEffective_ = value;
      }
    }

    /// <summary>Field number for the "PerkTag1" field.</summary>
    public const int PerkTag1FieldNumber = 22;
    private string perkTag1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PerkTag1 {
      get { return perkTag1_; }
      set {
        perkTag1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PerkTag2" field.</summary>
    public const int PerkTag2FieldNumber = 23;
    private string perkTag2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PerkTag2 {
      get { return perkTag2_; }
      set {
        perkTag2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PerkTag3" field.</summary>
    public const int PerkTag3FieldNumber = 24;
    private string perkTag3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PerkTag3 {
      get { return perkTag3_; }
      set {
        perkTag3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PerkTag4" field.</summary>
    public const int PerkTag4FieldNumber = 25;
    private string perkTag4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PerkTag4 {
      get { return perkTag4_; }
      set {
        perkTag4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LogoIcon" field.</summary>
    public const int LogoIconFieldNumber = 26;
    private string logoIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LogoIcon {
      get { return logoIcon_; }
      set {
        logoIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SlotTag" field.</summary>
    public const int SlotTagFieldNumber = 27;
    private string slotTag_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SlotTag {
      get { return slotTag_; }
      set {
        slotTag_ = 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 Perk);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Perk other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MaxLevel != other.MaxLevel) return false;
      if (AdditionalLevel != other.AdditionalLevel) return false;
      if (EET != other.EET) return false;
      if (ScoreGroupId != other.ScoreGroupId) return false;
      if(!strengthScore_.Equals(other.strengthScore_)) return false;
      if (PerkType != other.PerkType) return false;
      if (CharId != other.CharId) return false;
      if (CharPerkType != other.CharPerkType) return false;
      if (Theme != other.Theme) return false;
      if (GameBookId != other.GameBookId) return false;
      if(!operatingFloorType_.Equals(other.operatingFloorType_)) return false;
      if (OperatingNumber != other.OperatingNumber) return false;
      if (Price != other.Price) return false;
      if (Slot != other.Slot) return false;
      if(!tags_.Equals(other.tags_)) return false;
      if(!prePerkIds_.Equals(other.prePerkIds_)) return false;
      if (PreTagPkgs != other.PreTagPkgs) return false;
      if (NeedFloor != other.NeedFloor) return false;
      if (EffectGroupId != other.EffectGroupId) return false;
      if (IsEffective != other.IsEffective) return false;
      if (PerkTag1 != other.PerkTag1) return false;
      if (PerkTag2 != other.PerkTag2) return false;
      if (PerkTag3 != other.PerkTag3) return false;
      if (PerkTag4 != other.PerkTag4) return false;
      if (LogoIcon != other.LogoIcon) return false;
      if (SlotTag != other.SlotTag) 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 (MaxLevel != 0) hash ^= MaxLevel.GetHashCode();
      if (AdditionalLevel != false) hash ^= AdditionalLevel.GetHashCode();
      if (EET != 0) hash ^= EET.GetHashCode();
      if (ScoreGroupId != 0) hash ^= ScoreGroupId.GetHashCode();
      hash ^= strengthScore_.GetHashCode();
      if (PerkType != 0) hash ^= PerkType.GetHashCode();
      if (CharId != 0) hash ^= CharId.GetHashCode();
      if (CharPerkType != 0) hash ^= CharPerkType.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (GameBookId != 0) hash ^= GameBookId.GetHashCode();
      hash ^= operatingFloorType_.GetHashCode();
      if (OperatingNumber != 0) hash ^= OperatingNumber.GetHashCode();
      if (Price != 0) hash ^= Price.GetHashCode();
      if (Slot != 0) hash ^= Slot.GetHashCode();
      hash ^= tags_.GetHashCode();
      hash ^= prePerkIds_.GetHashCode();
      if (PreTagPkgs.Length != 0) hash ^= PreTagPkgs.GetHashCode();
      if (NeedFloor != 0) hash ^= NeedFloor.GetHashCode();
      if (EffectGroupId != 0) hash ^= EffectGroupId.GetHashCode();
      if (IsEffective != false) hash ^= IsEffective.GetHashCode();
      if (PerkTag1.Length != 0) hash ^= PerkTag1.GetHashCode();
      if (PerkTag2.Length != 0) hash ^= PerkTag2.GetHashCode();
      if (PerkTag3.Length != 0) hash ^= PerkTag3.GetHashCode();
      if (PerkTag4.Length != 0) hash ^= PerkTag4.GetHashCode();
      if (LogoIcon.Length != 0) hash ^= LogoIcon.GetHashCode();
      if (SlotTag.Length != 0) hash ^= SlotTag.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.WriteInt32(Id);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MaxLevel);
      }
      if (AdditionalLevel != false) {
        output.WriteRawTag(24);
        output.WriteBool(AdditionalLevel);
      }
      if (EET != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EET);
      }
      if (ScoreGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ScoreGroupId);
      }
      strengthScore_.WriteTo(output, _repeated_strengthScore_codec);
      if (PerkType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PerkType);
      }
      if (CharId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CharId);
      }
      if (CharPerkType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CharPerkType);
      }
      if (Theme != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Theme);
      }
      if (GameBookId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(GameBookId);
      }
      operatingFloorType_.WriteTo(output, _repeated_operatingFloorType_codec);
      if (OperatingNumber != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(OperatingNumber);
      }
      if (Price != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Price);
      }
      if (Slot != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Slot);
      }
      tags_.WriteTo(output, _repeated_tags_codec);
      prePerkIds_.WriteTo(output, _repeated_prePerkIds_codec);
      if (PreTagPkgs.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(PreTagPkgs);
      }
      if (NeedFloor != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(NeedFloor);
      }
      if (EffectGroupId != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(EffectGroupId);
      }
      if (IsEffective != false) {
        output.WriteRawTag(168, 1);
        output.WriteBool(IsEffective);
      }
      if (PerkTag1.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(PerkTag1);
      }
      if (PerkTag2.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(PerkTag2);
      }
      if (PerkTag3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(PerkTag3);
      }
      if (PerkTag4.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(PerkTag4);
      }
      if (LogoIcon.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(LogoIcon);
      }
      if (SlotTag.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(SlotTag);
      }
      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.WriteInt32(Id);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MaxLevel);
      }
      if (AdditionalLevel != false) {
        output.WriteRawTag(24);
        output.WriteBool(AdditionalLevel);
      }
      if (EET != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EET);
      }
      if (ScoreGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ScoreGroupId);
      }
      strengthScore_.WriteTo(ref output, _repeated_strengthScore_codec);
      if (PerkType != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(PerkType);
      }
      if (CharId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CharId);
      }
      if (CharPerkType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CharPerkType);
      }
      if (Theme != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Theme);
      }
      if (GameBookId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(GameBookId);
      }
      operatingFloorType_.WriteTo(ref output, _repeated_operatingFloorType_codec);
      if (OperatingNumber != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(OperatingNumber);
      }
      if (Price != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Price);
      }
      if (Slot != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Slot);
      }
      tags_.WriteTo(ref output, _repeated_tags_codec);
      prePerkIds_.WriteTo(ref output, _repeated_prePerkIds_codec);
      if (PreTagPkgs.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(PreTagPkgs);
      }
      if (NeedFloor != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(NeedFloor);
      }
      if (EffectGroupId != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(EffectGroupId);
      }
      if (IsEffective != false) {
        output.WriteRawTag(168, 1);
        output.WriteBool(IsEffective);
      }
      if (PerkTag1.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(PerkTag1);
      }
      if (PerkTag2.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(PerkTag2);
      }
      if (PerkTag3.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(PerkTag3);
      }
      if (PerkTag4.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(PerkTag4);
      }
      if (LogoIcon.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(LogoIcon);
      }
      if (SlotTag.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(SlotTag);
      }
      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.ComputeInt32Size(Id);
      }
      if (MaxLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxLevel);
      }
      if (AdditionalLevel != false) {
        size += 1 + 1;
      }
      if (EET != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EET);
      }
      if (ScoreGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScoreGroupId);
      }
      size += strengthScore_.CalculateSize(_repeated_strengthScore_codec);
      if (PerkType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PerkType);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (CharPerkType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharPerkType);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (GameBookId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GameBookId);
      }
      size += operatingFloorType_.CalculateSize(_repeated_operatingFloorType_codec);
      if (OperatingNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OperatingNumber);
      }
      if (Price != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Price);
      }
      if (Slot != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Slot);
      }
      size += tags_.CalculateSize(_repeated_tags_codec);
      size += prePerkIds_.CalculateSize(_repeated_prePerkIds_codec);
      if (PreTagPkgs.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(PreTagPkgs);
      }
      if (NeedFloor != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NeedFloor);
      }
      if (EffectGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EffectGroupId);
      }
      if (IsEffective != false) {
        size += 2 + 1;
      }
      if (PerkTag1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(PerkTag1);
      }
      if (PerkTag2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(PerkTag2);
      }
      if (PerkTag3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(PerkTag3);
      }
      if (PerkTag4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(PerkTag4);
      }
      if (LogoIcon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(LogoIcon);
      }
      if (SlotTag.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(SlotTag);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Perk other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MaxLevel != 0) {
        MaxLevel = other.MaxLevel;
      }
      if (other.AdditionalLevel != false) {
        AdditionalLevel = other.AdditionalLevel;
      }
      if (other.EET != 0) {
        EET = other.EET;
      }
      if (other.ScoreGroupId != 0) {
        ScoreGroupId = other.ScoreGroupId;
      }
      strengthScore_.Add(other.strengthScore_);
      if (other.PerkType != 0) {
        PerkType = other.PerkType;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.CharPerkType != 0) {
        CharPerkType = other.CharPerkType;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.GameBookId != 0) {
        GameBookId = other.GameBookId;
      }
      operatingFloorType_.Add(other.operatingFloorType_);
      if (other.OperatingNumber != 0) {
        OperatingNumber = other.OperatingNumber;
      }
      if (other.Price != 0) {
        Price = other.Price;
      }
      if (other.Slot != 0) {
        Slot = other.Slot;
      }
      tags_.Add(other.tags_);
      prePerkIds_.Add(other.prePerkIds_);
      if (other.PreTagPkgs.Length != 0) {
        PreTagPkgs = other.PreTagPkgs;
      }
      if (other.NeedFloor != 0) {
        NeedFloor = other.NeedFloor;
      }
      if (other.EffectGroupId != 0) {
        EffectGroupId = other.EffectGroupId;
      }
      if (other.IsEffective != false) {
        IsEffective = other.IsEffective;
      }
      if (other.PerkTag1.Length != 0) {
        PerkTag1 = other.PerkTag1;
      }
      if (other.PerkTag2.Length != 0) {
        PerkTag2 = other.PerkTag2;
      }
      if (other.PerkTag3.Length != 0) {
        PerkTag3 = other.PerkTag3;
      }
      if (other.PerkTag4.Length != 0) {
        PerkTag4 = other.PerkTag4;
      }
      if (other.LogoIcon.Length != 0) {
        LogoIcon = other.LogoIcon;
      }
      if (other.SlotTag.Length != 0) {
        SlotTag = other.SlotTag;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 24: {
            AdditionalLevel = input.ReadBool();
            break;
          }
          case 32: {
            EET = input.ReadInt32();
            break;
          }
          case 40: {
            ScoreGroupId = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            strengthScore_.AddEntriesFrom(input, _repeated_strengthScore_codec);
            break;
          }
          case 56: {
            PerkType = input.ReadInt32();
            break;
          }
          case 64: {
            CharId = input.ReadInt32();
            break;
          }
          case 72: {
            CharPerkType = input.ReadInt32();
            break;
          }
          case 80: {
            Theme = input.ReadInt32();
            break;
          }
          case 88: {
            GameBookId = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            operatingFloorType_.AddEntriesFrom(input, _repeated_operatingFloorType_codec);
            break;
          }
          case 104: {
            OperatingNumber = input.ReadInt32();
            break;
          }
          case 112: {
            Price = input.ReadInt32();
            break;
          }
          case 120: {
            Slot = input.ReadInt32();
            break;
          }
          case 130:
          case 128: {
            tags_.AddEntriesFrom(input, _repeated_tags_codec);
            break;
          }
          case 138:
          case 136: {
            prePerkIds_.AddEntriesFrom(input, _repeated_prePerkIds_codec);
            break;
          }
          case 146: {
            PreTagPkgs = input.ReadString();
            break;
          }
          case 152: {
            NeedFloor = input.ReadInt32();
            break;
          }
          case 160: {
            EffectGroupId = input.ReadInt32();
            break;
          }
          case 168: {
            IsEffective = input.ReadBool();
            break;
          }
          case 178: {
            PerkTag1 = input.ReadString();
            break;
          }
          case 186: {
            PerkTag2 = input.ReadString();
            break;
          }
          case 194: {
            PerkTag3 = input.ReadString();
            break;
          }
          case 202: {
            PerkTag4 = input.ReadString();
            break;
          }
          case 210: {
            LogoIcon = input.ReadString();
            break;
          }
          case 218: {
            SlotTag = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 24: {
            AdditionalLevel = input.ReadBool();
            break;
          }
          case 32: {
            EET = input.ReadInt32();
            break;
          }
          case 40: {
            ScoreGroupId = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            strengthScore_.AddEntriesFrom(ref input, _repeated_strengthScore_codec);
            break;
          }
          case 56: {
            PerkType = input.ReadInt32();
            break;
          }
          case 64: {
            CharId = input.ReadInt32();
            break;
          }
          case 72: {
            CharPerkType = input.ReadInt32();
            break;
          }
          case 80: {
            Theme = input.ReadInt32();
            break;
          }
          case 88: {
            GameBookId = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            operatingFloorType_.AddEntriesFrom(ref input, _repeated_operatingFloorType_codec);
            break;
          }
          case 104: {
            OperatingNumber = input.ReadInt32();
            break;
          }
          case 112: {
            Price = input.ReadInt32();
            break;
          }
          case 120: {
            Slot = input.ReadInt32();
            break;
          }
          case 130:
          case 128: {
            tags_.AddEntriesFrom(ref input, _repeated_tags_codec);
            break;
          }
          case 138:
          case 136: {
            prePerkIds_.AddEntriesFrom(ref input, _repeated_prePerkIds_codec);
            break;
          }
          case 146: {
            PreTagPkgs = input.ReadString();
            break;
          }
          case 152: {
            NeedFloor = input.ReadInt32();
            break;
          }
          case 160: {
            EffectGroupId = input.ReadInt32();
            break;
          }
          case 168: {
            IsEffective = input.ReadBool();
            break;
          }
          case 178: {
            PerkTag1 = input.ReadString();
            break;
          }
          case 186: {
            PerkTag2 = input.ReadString();
            break;
          }
          case 194: {
            PerkTag3 = input.ReadString();
            break;
          }
          case 202: {
            PerkTag4 = input.ReadString();
            break;
          }
          case 210: {
            LogoIcon = input.ReadString();
            break;
          }
          case 218: {
            SlotTag = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Perk : pb::IMessage<table_Perk>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Perk> _parser = new pb::MessageParser<table_Perk>(() => new table_Perk());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Perk> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[311]; }
    }

    [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 table_Perk() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Perk(table_Perk other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Perk Clone() {
      return new table_Perk(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Perk> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Perk.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Perk> list_ = new pbc::RepeatedField<global::Nova.Client.Perk>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Perk> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Perk);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Perk other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Perk other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PerkPassiveSkill : pb::IMessage<PerkPassiveSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PerkPassiveSkill> _parser = new pb::MessageParser<PerkPassiveSkill>(() => new PerkPassiveSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PerkPassiveSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[312]; }
    }

    [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 PerkPassiveSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PerkPassiveSkill(PerkPassiveSkill other) : this() {
      id_ = other.id_;
      shareCD_ = other.shareCD_;
      shareTimes_ = other.shareTimes_;
      effectId1_ = other.effectId1_;
      effectId2_ = other.effectId2_;
      effectId3_ = other.effectId3_;
      effectId4_ = other.effectId4_;
      name_ = other.name_;
      desc_ = other.desc_;
      desc1_ = other.desc1_;
      param1_ = other.param1_;
      desc2_ = other.desc2_;
      param2_ = other.param2_;
      desc3_ = other.desc3_;
      param3_ = other.param3_;
      desc4_ = other.desc4_;
      param4_ = other.param4_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PerkPassiveSkill Clone() {
      return new PerkPassiveSkill(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ShareCD" field.</summary>
    public const int ShareCDFieldNumber = 2;
    private bool shareCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ShareCD {
      get { return shareCD_; }
      set {
        shareCD_ = value;
      }
    }

    /// <summary>Field number for the "ShareTimes" field.</summary>
    public const int ShareTimesFieldNumber = 3;
    private bool shareTimes_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ShareTimes {
      get { return shareTimes_; }
      set {
        shareTimes_ = value;
      }
    }

    /// <summary>Field number for the "EffectId1" field.</summary>
    public const int EffectId1FieldNumber = 4;
    private int effectId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId1 {
      get { return effectId1_; }
      set {
        effectId1_ = value;
      }
    }

    /// <summary>Field number for the "EffectId2" field.</summary>
    public const int EffectId2FieldNumber = 5;
    private int effectId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId2 {
      get { return effectId2_; }
      set {
        effectId2_ = value;
      }
    }

    /// <summary>Field number for the "EffectId3" field.</summary>
    public const int EffectId3FieldNumber = 6;
    private int effectId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId3 {
      get { return effectId3_; }
      set {
        effectId3_ = value;
      }
    }

    /// <summary>Field number for the "EffectId4" field.</summary>
    public const int EffectId4FieldNumber = 7;
    private int effectId4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId4 {
      get { return effectId4_; }
      set {
        effectId4_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 8;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 9;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc1" field.</summary>
    public const int Desc1FieldNumber = 10;
    private string desc1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc1 {
      get { return desc1_; }
      set {
        desc1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 11;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc2" field.</summary>
    public const int Desc2FieldNumber = 12;
    private string desc2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc2 {
      get { return desc2_; }
      set {
        desc2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 13;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc3" field.</summary>
    public const int Desc3FieldNumber = 14;
    private string desc3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc3 {
      get { return desc3_; }
      set {
        desc3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 15;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc4" field.</summary>
    public const int Desc4FieldNumber = 16;
    private string desc4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc4 {
      get { return desc4_; }
      set {
        desc4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 17;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = 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 PerkPassiveSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PerkPassiveSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ShareCD != other.ShareCD) return false;
      if (ShareTimes != other.ShareTimes) return false;
      if (EffectId1 != other.EffectId1) return false;
      if (EffectId2 != other.EffectId2) return false;
      if (EffectId3 != other.EffectId3) return false;
      if (EffectId4 != other.EffectId4) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Desc1 != other.Desc1) return false;
      if (Param1 != other.Param1) return false;
      if (Desc2 != other.Desc2) return false;
      if (Param2 != other.Param2) return false;
      if (Desc3 != other.Desc3) return false;
      if (Param3 != other.Param3) return false;
      if (Desc4 != other.Desc4) return false;
      if (Param4 != other.Param4) 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 (ShareCD != false) hash ^= ShareCD.GetHashCode();
      if (ShareTimes != false) hash ^= ShareTimes.GetHashCode();
      if (EffectId1 != 0) hash ^= EffectId1.GetHashCode();
      if (EffectId2 != 0) hash ^= EffectId2.GetHashCode();
      if (EffectId3 != 0) hash ^= EffectId3.GetHashCode();
      if (EffectId4 != 0) hash ^= EffectId4.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Desc1.Length != 0) hash ^= Desc1.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Desc2.Length != 0) hash ^= Desc2.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Desc3.Length != 0) hash ^= Desc3.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Desc4.Length != 0) hash ^= Desc4.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.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.WriteInt32(Id);
      }
      if (ShareCD != false) {
        output.WriteRawTag(16);
        output.WriteBool(ShareCD);
      }
      if (ShareTimes != false) {
        output.WriteRawTag(24);
        output.WriteBool(ShareTimes);
      }
      if (EffectId1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EffectId1);
      }
      if (EffectId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EffectId2);
      }
      if (EffectId3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(EffectId3);
      }
      if (EffectId4 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(EffectId4);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc);
      }
      if (Desc1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Desc1);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param1);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Desc2);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param2);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Desc3);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Param3);
      }
      if (Desc4.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Desc4);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Param4);
      }
      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.WriteInt32(Id);
      }
      if (ShareCD != false) {
        output.WriteRawTag(16);
        output.WriteBool(ShareCD);
      }
      if (ShareTimes != false) {
        output.WriteRawTag(24);
        output.WriteBool(ShareTimes);
      }
      if (EffectId1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EffectId1);
      }
      if (EffectId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EffectId2);
      }
      if (EffectId3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(EffectId3);
      }
      if (EffectId4 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(EffectId4);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc);
      }
      if (Desc1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Desc1);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param1);
      }
      if (Desc2.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Desc2);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param2);
      }
      if (Desc3.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Desc3);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Param3);
      }
      if (Desc4.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Desc4);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Param4);
      }
      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.ComputeInt32Size(Id);
      }
      if (ShareCD != false) {
        size += 1 + 1;
      }
      if (ShareTimes != false) {
        size += 1 + 1;
      }
      if (EffectId1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId1);
      }
      if (EffectId2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId2);
      }
      if (EffectId3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId3);
      }
      if (EffectId4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId4);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Desc1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc1);
      }
      if (Param1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Desc2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc2);
      }
      if (Param2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Desc3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc3);
      }
      if (Param3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Desc4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc4);
      }
      if (Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PerkPassiveSkill other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ShareCD != false) {
        ShareCD = other.ShareCD;
      }
      if (other.ShareTimes != false) {
        ShareTimes = other.ShareTimes;
      }
      if (other.EffectId1 != 0) {
        EffectId1 = other.EffectId1;
      }
      if (other.EffectId2 != 0) {
        EffectId2 = other.EffectId2;
      }
      if (other.EffectId3 != 0) {
        EffectId3 = other.EffectId3;
      }
      if (other.EffectId4 != 0) {
        EffectId4 = other.EffectId4;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Desc1.Length != 0) {
        Desc1 = other.Desc1;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Desc2.Length != 0) {
        Desc2 = other.Desc2;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Desc3.Length != 0) {
        Desc3 = other.Desc3;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Desc4.Length != 0) {
        Desc4 = other.Desc4;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ShareCD = input.ReadBool();
            break;
          }
          case 24: {
            ShareTimes = input.ReadBool();
            break;
          }
          case 32: {
            EffectId1 = input.ReadInt32();
            break;
          }
          case 40: {
            EffectId2 = input.ReadInt32();
            break;
          }
          case 48: {
            EffectId3 = input.ReadInt32();
            break;
          }
          case 56: {
            EffectId4 = input.ReadInt32();
            break;
          }
          case 66: {
            Name = input.ReadString();
            break;
          }
          case 74: {
            Desc = input.ReadString();
            break;
          }
          case 82: {
            Desc1 = input.ReadString();
            break;
          }
          case 90: {
            Param1 = input.ReadString();
            break;
          }
          case 98: {
            Desc2 = input.ReadString();
            break;
          }
          case 106: {
            Param2 = input.ReadString();
            break;
          }
          case 114: {
            Desc3 = input.ReadString();
            break;
          }
          case 122: {
            Param3 = input.ReadString();
            break;
          }
          case 130: {
            Desc4 = input.ReadString();
            break;
          }
          case 138: {
            Param4 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ShareCD = input.ReadBool();
            break;
          }
          case 24: {
            ShareTimes = input.ReadBool();
            break;
          }
          case 32: {
            EffectId1 = input.ReadInt32();
            break;
          }
          case 40: {
            EffectId2 = input.ReadInt32();
            break;
          }
          case 48: {
            EffectId3 = input.ReadInt32();
            break;
          }
          case 56: {
            EffectId4 = input.ReadInt32();
            break;
          }
          case 66: {
            Name = input.ReadString();
            break;
          }
          case 74: {
            Desc = input.ReadString();
            break;
          }
          case 82: {
            Desc1 = input.ReadString();
            break;
          }
          case 90: {
            Param1 = input.ReadString();
            break;
          }
          case 98: {
            Desc2 = input.ReadString();
            break;
          }
          case 106: {
            Param2 = input.ReadString();
            break;
          }
          case 114: {
            Desc3 = input.ReadString();
            break;
          }
          case 122: {
            Param3 = input.ReadString();
            break;
          }
          case 130: {
            Desc4 = input.ReadString();
            break;
          }
          case 138: {
            Param4 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PerkPassiveSkill : pb::IMessage<table_PerkPassiveSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PerkPassiveSkill> _parser = new pb::MessageParser<table_PerkPassiveSkill>(() => new table_PerkPassiveSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PerkPassiveSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[313]; }
    }

    [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 table_PerkPassiveSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PerkPassiveSkill(table_PerkPassiveSkill other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PerkPassiveSkill Clone() {
      return new table_PerkPassiveSkill(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PerkPassiveSkill> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PerkPassiveSkill.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PerkPassiveSkill> list_ = new pbc::RepeatedField<global::Nova.Client.PerkPassiveSkill>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PerkPassiveSkill> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PerkPassiveSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PerkPassiveSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PerkPassiveSkill other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PlayerHead : pb::IMessage<PlayerHead>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PlayerHead> _parser = new pb::MessageParser<PlayerHead>(() => new PlayerHead());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PlayerHead> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[314]; }
    }

    [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 PlayerHead() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PlayerHead(PlayerHead other) : this() {
      id_ = other.id_;
      icon_ = other.icon_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PlayerHead Clone() {
      return new PlayerHead(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 2;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = 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 PlayerHead);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PlayerHead other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Icon != other.Icon) 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 (Icon.Length != 0) hash ^= Icon.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.WriteInt32(Id);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      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.WriteInt32(Id);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      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.ComputeInt32Size(Id);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PlayerHead other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PlayerHead : pb::IMessage<table_PlayerHead>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PlayerHead> _parser = new pb::MessageParser<table_PlayerHead>(() => new table_PlayerHead());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PlayerHead> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[315]; }
    }

    [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 table_PlayerHead() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PlayerHead(table_PlayerHead other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PlayerHead Clone() {
      return new table_PlayerHead(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PlayerHead> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PlayerHead.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PlayerHead> list_ = new pbc::RepeatedField<global::Nova.Client.PlayerHead>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PlayerHead> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PlayerHead);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PlayerHead other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PlayerHead other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Plot : pb::IMessage<Plot>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Plot> _parser = new pb::MessageParser<Plot>(() => new Plot());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Plot> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[316]; }
    }

    [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 Plot() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Plot(Plot other) : this() {
      id_ = other.id_;
      char_ = other.char_;
      name_ = other.name_;
      desc_ = other.desc_;
      avgId_ = other.avgId_;
      mainlines_ = other.mainlines_.Clone();
      unlockAffinityLevel_ = other.unlockAffinityLevel_;
      connectChatId_ = other.connectChatId_;
      charAdvanceCond_ = other.charAdvanceCond_;
      rewards_ = other.rewards_;
      picSource_ = other.picSource_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Plot Clone() {
      return new Plot(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Char" field.</summary>
    public const int CharFieldNumber = 2;
    private int char_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Char {
      get { return char_; }
      set {
        char_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AvgId" field.</summary>
    public const int AvgIdFieldNumber = 5;
    private string avgId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AvgId {
      get { return avgId_; }
      set {
        avgId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Mainlines" field.</summary>
    public const int MainlinesFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_mainlines_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> mainlines_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Mainlines {
      get { return mainlines_; }
    }

    /// <summary>Field number for the "UnlockAffinityLevel" field.</summary>
    public const int UnlockAffinityLevelFieldNumber = 7;
    private int unlockAffinityLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockAffinityLevel {
      get { return unlockAffinityLevel_; }
      set {
        unlockAffinityLevel_ = value;
      }
    }

    /// <summary>Field number for the "ConnectChatId" field.</summary>
    public const int ConnectChatIdFieldNumber = 8;
    private int connectChatId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ConnectChatId {
      get { return connectChatId_; }
      set {
        connectChatId_ = value;
      }
    }

    /// <summary>Field number for the "CharAdvanceCond" field.</summary>
    public const int CharAdvanceCondFieldNumber = 9;
    private string charAdvanceCond_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CharAdvanceCond {
      get { return charAdvanceCond_; }
      set {
        charAdvanceCond_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Rewards" field.</summary>
    public const int RewardsFieldNumber = 10;
    private string rewards_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Rewards {
      get { return rewards_; }
      set {
        rewards_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PicSource" field.</summary>
    public const int PicSourceFieldNumber = 11;
    private string picSource_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PicSource {
      get { return picSource_; }
      set {
        picSource_ = 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 Plot);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Plot other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Char != other.Char) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (AvgId != other.AvgId) return false;
      if(!mainlines_.Equals(other.mainlines_)) return false;
      if (UnlockAffinityLevel != other.UnlockAffinityLevel) return false;
      if (ConnectChatId != other.ConnectChatId) return false;
      if (CharAdvanceCond != other.CharAdvanceCond) return false;
      if (Rewards != other.Rewards) return false;
      if (PicSource != other.PicSource) 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 (Char != 0) hash ^= Char.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (AvgId.Length != 0) hash ^= AvgId.GetHashCode();
      hash ^= mainlines_.GetHashCode();
      if (UnlockAffinityLevel != 0) hash ^= UnlockAffinityLevel.GetHashCode();
      if (ConnectChatId != 0) hash ^= ConnectChatId.GetHashCode();
      if (CharAdvanceCond.Length != 0) hash ^= CharAdvanceCond.GetHashCode();
      if (Rewards.Length != 0) hash ^= Rewards.GetHashCode();
      if (PicSource.Length != 0) hash ^= PicSource.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.WriteInt32(Id);
      }
      if (Char != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Char);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (AvgId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AvgId);
      }
      mainlines_.WriteTo(output, _repeated_mainlines_codec);
      if (UnlockAffinityLevel != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(UnlockAffinityLevel);
      }
      if (ConnectChatId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ConnectChatId);
      }
      if (CharAdvanceCond.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CharAdvanceCond);
      }
      if (Rewards.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Rewards);
      }
      if (PicSource.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(PicSource);
      }
      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.WriteInt32(Id);
      }
      if (Char != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Char);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (AvgId.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(AvgId);
      }
      mainlines_.WriteTo(ref output, _repeated_mainlines_codec);
      if (UnlockAffinityLevel != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(UnlockAffinityLevel);
      }
      if (ConnectChatId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ConnectChatId);
      }
      if (CharAdvanceCond.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CharAdvanceCond);
      }
      if (Rewards.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Rewards);
      }
      if (PicSource.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(PicSource);
      }
      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.ComputeInt32Size(Id);
      }
      if (Char != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Char);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (AvgId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AvgId);
      }
      size += mainlines_.CalculateSize(_repeated_mainlines_codec);
      if (UnlockAffinityLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockAffinityLevel);
      }
      if (ConnectChatId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ConnectChatId);
      }
      if (CharAdvanceCond.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CharAdvanceCond);
      }
      if (Rewards.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Rewards);
      }
      if (PicSource.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PicSource);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Plot other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Char != 0) {
        Char = other.Char;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.AvgId.Length != 0) {
        AvgId = other.AvgId;
      }
      mainlines_.Add(other.mainlines_);
      if (other.UnlockAffinityLevel != 0) {
        UnlockAffinityLevel = other.UnlockAffinityLevel;
      }
      if (other.ConnectChatId != 0) {
        ConnectChatId = other.ConnectChatId;
      }
      if (other.CharAdvanceCond.Length != 0) {
        CharAdvanceCond = other.CharAdvanceCond;
      }
      if (other.Rewards.Length != 0) {
        Rewards = other.Rewards;
      }
      if (other.PicSource.Length != 0) {
        PicSource = other.PicSource;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Char = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            AvgId = input.ReadString();
            break;
          }
          case 50:
          case 48: {
            mainlines_.AddEntriesFrom(input, _repeated_mainlines_codec);
            break;
          }
          case 56: {
            UnlockAffinityLevel = input.ReadInt32();
            break;
          }
          case 64: {
            ConnectChatId = input.ReadInt32();
            break;
          }
          case 74: {
            CharAdvanceCond = input.ReadString();
            break;
          }
          case 82: {
            Rewards = input.ReadString();
            break;
          }
          case 90: {
            PicSource = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Char = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 42: {
            AvgId = input.ReadString();
            break;
          }
          case 50:
          case 48: {
            mainlines_.AddEntriesFrom(ref input, _repeated_mainlines_codec);
            break;
          }
          case 56: {
            UnlockAffinityLevel = input.ReadInt32();
            break;
          }
          case 64: {
            ConnectChatId = input.ReadInt32();
            break;
          }
          case 74: {
            CharAdvanceCond = input.ReadString();
            break;
          }
          case 82: {
            Rewards = input.ReadString();
            break;
          }
          case 90: {
            PicSource = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Plot : pb::IMessage<table_Plot>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Plot> _parser = new pb::MessageParser<table_Plot>(() => new table_Plot());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Plot> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[317]; }
    }

    [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 table_Plot() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Plot(table_Plot other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Plot Clone() {
      return new table_Plot(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Plot> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Plot.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Plot> list_ = new pbc::RepeatedField<global::Nova.Client.Plot>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Plot> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Plot);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Plot other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Plot other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Potential : pb::IMessage<Potential>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Potential> _parser = new pb::MessageParser<Potential>(() => new Potential());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Potential> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[318]; }
    }

    [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 Potential() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Potential(Potential other) : this() {
      id_ = other.id_;
      charId_ = other.charId_;
      branchType_ = other.branchType_;
      maxLevel_ = other.maxLevel_;
      scoreGroupId_ = other.scoreGroupId_;
      buildScore_ = other.buildScore_.Clone();
      gameBookId_ = other.gameBookId_;
      effectGroupId_ = other.effectGroupId_;
      isEffective_ = other.isEffective_;
      potentialTag1_ = other.potentialTag1_;
      potentialTag2_ = other.potentialTag2_;
      potentialTag3_ = other.potentialTag3_;
      potentialTag4_ = other.potentialTag4_;
      corner_ = other.corner_;
      spBg_ = other.spBg_;
      spFace_ = other.spFace_;
      effectId1_ = other.effectId1_;
      effectId2_ = other.effectId2_;
      effectId3_ = other.effectId3_;
      effectId4_ = other.effectId4_;
      briefDesc_ = other.briefDesc_;
      desc_ = other.desc_;
      param1_ = other.param1_;
      param2_ = other.param2_;
      param3_ = other.param3_;
      param4_ = other.param4_;
      param5_ = other.param5_;
      param6_ = other.param6_;
      param7_ = other.param7_;
      param8_ = other.param8_;
      param9_ = other.param9_;
      param10_ = other.param10_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Potential Clone() {
      return new Potential(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 2;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "BranchType" field.</summary>
    public const int BranchTypeFieldNumber = 3;
    private int branchType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BranchType {
      get { return branchType_; }
      set {
        branchType_ = value;
      }
    }

    /// <summary>Field number for the "MaxLevel" field.</summary>
    public const int MaxLevelFieldNumber = 4;
    private int maxLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxLevel {
      get { return maxLevel_; }
      set {
        maxLevel_ = value;
      }
    }

    /// <summary>Field number for the "ScoreGroupId" field.</summary>
    public const int ScoreGroupIdFieldNumber = 5;
    private int scoreGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ScoreGroupId {
      get { return scoreGroupId_; }
      set {
        scoreGroupId_ = value;
      }
    }

    /// <summary>Field number for the "BuildScore" field.</summary>
    public const int BuildScoreFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_buildScore_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> buildScore_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BuildScore {
      get { return buildScore_; }
    }

    /// <summary>Field number for the "GameBookId" field.</summary>
    public const int GameBookIdFieldNumber = 7;
    private int gameBookId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GameBookId {
      get { return gameBookId_; }
      set {
        gameBookId_ = value;
      }
    }

    /// <summary>Field number for the "EffectGroupId" field.</summary>
    public const int EffectGroupIdFieldNumber = 8;
    private int effectGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectGroupId {
      get { return effectGroupId_; }
      set {
        effectGroupId_ = value;
      }
    }

    /// <summary>Field number for the "IsEffective" field.</summary>
    public const int IsEffectiveFieldNumber = 9;
    private bool isEffective_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsEffective {
      get { return isEffective_; }
      set {
        isEffective_ = value;
      }
    }

    /// <summary>Field number for the "PotentialTag1" field.</summary>
    public const int PotentialTag1FieldNumber = 10;
    private string potentialTag1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PotentialTag1 {
      get { return potentialTag1_; }
      set {
        potentialTag1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PotentialTag2" field.</summary>
    public const int PotentialTag2FieldNumber = 11;
    private string potentialTag2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PotentialTag2 {
      get { return potentialTag2_; }
      set {
        potentialTag2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PotentialTag3" field.</summary>
    public const int PotentialTag3FieldNumber = 12;
    private string potentialTag3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PotentialTag3 {
      get { return potentialTag3_; }
      set {
        potentialTag3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PotentialTag4" field.</summary>
    public const int PotentialTag4FieldNumber = 13;
    private string potentialTag4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PotentialTag4 {
      get { return potentialTag4_; }
      set {
        potentialTag4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Corner" field.</summary>
    public const int CornerFieldNumber = 14;
    private int corner_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Corner {
      get { return corner_; }
      set {
        corner_ = value;
      }
    }

    /// <summary>Field number for the "SpBg" field.</summary>
    public const int SpBgFieldNumber = 15;
    private string spBg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SpBg {
      get { return spBg_; }
      set {
        spBg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SpFace" field.</summary>
    public const int SpFaceFieldNumber = 16;
    private string spFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SpFace {
      get { return spFace_; }
      set {
        spFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectId1" field.</summary>
    public const int EffectId1FieldNumber = 17;
    private int effectId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId1 {
      get { return effectId1_; }
      set {
        effectId1_ = value;
      }
    }

    /// <summary>Field number for the "EffectId2" field.</summary>
    public const int EffectId2FieldNumber = 18;
    private int effectId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId2 {
      get { return effectId2_; }
      set {
        effectId2_ = value;
      }
    }

    /// <summary>Field number for the "EffectId3" field.</summary>
    public const int EffectId3FieldNumber = 19;
    private int effectId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId3 {
      get { return effectId3_; }
      set {
        effectId3_ = value;
      }
    }

    /// <summary>Field number for the "EffectId4" field.</summary>
    public const int EffectId4FieldNumber = 20;
    private int effectId4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId4 {
      get { return effectId4_; }
      set {
        effectId4_ = value;
      }
    }

    /// <summary>Field number for the "BriefDesc" field.</summary>
    public const int BriefDescFieldNumber = 21;
    private string briefDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BriefDesc {
      get { return briefDesc_; }
      set {
        briefDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 22;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 23;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 24;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 25;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 26;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param5" field.</summary>
    public const int Param5FieldNumber = 27;
    private string param5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param5 {
      get { return param5_; }
      set {
        param5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param6" field.</summary>
    public const int Param6FieldNumber = 28;
    private string param6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param6 {
      get { return param6_; }
      set {
        param6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param7" field.</summary>
    public const int Param7FieldNumber = 29;
    private string param7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param7 {
      get { return param7_; }
      set {
        param7_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param8" field.</summary>
    public const int Param8FieldNumber = 30;
    private string param8_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param8 {
      get { return param8_; }
      set {
        param8_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param9" field.</summary>
    public const int Param9FieldNumber = 31;
    private string param9_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param9 {
      get { return param9_; }
      set {
        param9_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param10" field.</summary>
    public const int Param10FieldNumber = 32;
    private string param10_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param10 {
      get { return param10_; }
      set {
        param10_ = 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 Potential);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Potential other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharId != other.CharId) return false;
      if (BranchType != other.BranchType) return false;
      if (MaxLevel != other.MaxLevel) return false;
      if (ScoreGroupId != other.ScoreGroupId) return false;
      if(!buildScore_.Equals(other.buildScore_)) return false;
      if (GameBookId != other.GameBookId) return false;
      if (EffectGroupId != other.EffectGroupId) return false;
      if (IsEffective != other.IsEffective) return false;
      if (PotentialTag1 != other.PotentialTag1) return false;
      if (PotentialTag2 != other.PotentialTag2) return false;
      if (PotentialTag3 != other.PotentialTag3) return false;
      if (PotentialTag4 != other.PotentialTag4) return false;
      if (Corner != other.Corner) return false;
      if (SpBg != other.SpBg) return false;
      if (SpFace != other.SpFace) return false;
      if (EffectId1 != other.EffectId1) return false;
      if (EffectId2 != other.EffectId2) return false;
      if (EffectId3 != other.EffectId3) return false;
      if (EffectId4 != other.EffectId4) return false;
      if (BriefDesc != other.BriefDesc) return false;
      if (Desc != other.Desc) return false;
      if (Param1 != other.Param1) return false;
      if (Param2 != other.Param2) return false;
      if (Param3 != other.Param3) return false;
      if (Param4 != other.Param4) return false;
      if (Param5 != other.Param5) return false;
      if (Param6 != other.Param6) return false;
      if (Param7 != other.Param7) return false;
      if (Param8 != other.Param8) return false;
      if (Param9 != other.Param9) return false;
      if (Param10 != other.Param10) 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 (CharId != 0) hash ^= CharId.GetHashCode();
      if (BranchType != 0) hash ^= BranchType.GetHashCode();
      if (MaxLevel != 0) hash ^= MaxLevel.GetHashCode();
      if (ScoreGroupId != 0) hash ^= ScoreGroupId.GetHashCode();
      hash ^= buildScore_.GetHashCode();
      if (GameBookId != 0) hash ^= GameBookId.GetHashCode();
      if (EffectGroupId != 0) hash ^= EffectGroupId.GetHashCode();
      if (IsEffective != false) hash ^= IsEffective.GetHashCode();
      if (PotentialTag1.Length != 0) hash ^= PotentialTag1.GetHashCode();
      if (PotentialTag2.Length != 0) hash ^= PotentialTag2.GetHashCode();
      if (PotentialTag3.Length != 0) hash ^= PotentialTag3.GetHashCode();
      if (PotentialTag4.Length != 0) hash ^= PotentialTag4.GetHashCode();
      if (Corner != 0) hash ^= Corner.GetHashCode();
      if (SpBg.Length != 0) hash ^= SpBg.GetHashCode();
      if (SpFace.Length != 0) hash ^= SpFace.GetHashCode();
      if (EffectId1 != 0) hash ^= EffectId1.GetHashCode();
      if (EffectId2 != 0) hash ^= EffectId2.GetHashCode();
      if (EffectId3 != 0) hash ^= EffectId3.GetHashCode();
      if (EffectId4 != 0) hash ^= EffectId4.GetHashCode();
      if (BriefDesc.Length != 0) hash ^= BriefDesc.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.GetHashCode();
      if (Param5.Length != 0) hash ^= Param5.GetHashCode();
      if (Param6.Length != 0) hash ^= Param6.GetHashCode();
      if (Param7.Length != 0) hash ^= Param7.GetHashCode();
      if (Param8.Length != 0) hash ^= Param8.GetHashCode();
      if (Param9.Length != 0) hash ^= Param9.GetHashCode();
      if (Param10.Length != 0) hash ^= Param10.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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (BranchType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(BranchType);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxLevel);
      }
      if (ScoreGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ScoreGroupId);
      }
      buildScore_.WriteTo(output, _repeated_buildScore_codec);
      if (GameBookId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GameBookId);
      }
      if (EffectGroupId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EffectGroupId);
      }
      if (IsEffective != false) {
        output.WriteRawTag(72);
        output.WriteBool(IsEffective);
      }
      if (PotentialTag1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(PotentialTag1);
      }
      if (PotentialTag2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(PotentialTag2);
      }
      if (PotentialTag3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(PotentialTag3);
      }
      if (PotentialTag4.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(PotentialTag4);
      }
      if (Corner != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Corner);
      }
      if (SpBg.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(SpBg);
      }
      if (SpFace.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(SpFace);
      }
      if (EffectId1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(EffectId1);
      }
      if (EffectId2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(EffectId2);
      }
      if (EffectId3 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(EffectId3);
      }
      if (EffectId4 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(EffectId4);
      }
      if (BriefDesc.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(BriefDesc);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Desc);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(250, 1);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(130, 2);
        output.WriteString(Param10);
      }
      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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (BranchType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(BranchType);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxLevel);
      }
      if (ScoreGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ScoreGroupId);
      }
      buildScore_.WriteTo(ref output, _repeated_buildScore_codec);
      if (GameBookId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GameBookId);
      }
      if (EffectGroupId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EffectGroupId);
      }
      if (IsEffective != false) {
        output.WriteRawTag(72);
        output.WriteBool(IsEffective);
      }
      if (PotentialTag1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(PotentialTag1);
      }
      if (PotentialTag2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(PotentialTag2);
      }
      if (PotentialTag3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(PotentialTag3);
      }
      if (PotentialTag4.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(PotentialTag4);
      }
      if (Corner != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(Corner);
      }
      if (SpBg.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(SpBg);
      }
      if (SpFace.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(SpFace);
      }
      if (EffectId1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(EffectId1);
      }
      if (EffectId2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(EffectId2);
      }
      if (EffectId3 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(EffectId3);
      }
      if (EffectId4 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(EffectId4);
      }
      if (BriefDesc.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(BriefDesc);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Desc);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(218, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(250, 1);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(130, 2);
        output.WriteString(Param10);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (BranchType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BranchType);
      }
      if (MaxLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxLevel);
      }
      if (ScoreGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ScoreGroupId);
      }
      size += buildScore_.CalculateSize(_repeated_buildScore_codec);
      if (GameBookId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GameBookId);
      }
      if (EffectGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectGroupId);
      }
      if (IsEffective != false) {
        size += 1 + 1;
      }
      if (PotentialTag1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PotentialTag1);
      }
      if (PotentialTag2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PotentialTag2);
      }
      if (PotentialTag3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PotentialTag3);
      }
      if (PotentialTag4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PotentialTag4);
      }
      if (Corner != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Corner);
      }
      if (SpBg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SpBg);
      }
      if (SpFace.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(SpFace);
      }
      if (EffectId1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EffectId1);
      }
      if (EffectId2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EffectId2);
      }
      if (EffectId3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EffectId3);
      }
      if (EffectId4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EffectId4);
      }
      if (BriefDesc.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BriefDesc);
      }
      if (Desc.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Param1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Param2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Param3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (Param5.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param5);
      }
      if (Param6.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param6);
      }
      if (Param7.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param7);
      }
      if (Param8.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param8);
      }
      if (Param9.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param9);
      }
      if (Param10.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param10);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Potential other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.BranchType != 0) {
        BranchType = other.BranchType;
      }
      if (other.MaxLevel != 0) {
        MaxLevel = other.MaxLevel;
      }
      if (other.ScoreGroupId != 0) {
        ScoreGroupId = other.ScoreGroupId;
      }
      buildScore_.Add(other.buildScore_);
      if (other.GameBookId != 0) {
        GameBookId = other.GameBookId;
      }
      if (other.EffectGroupId != 0) {
        EffectGroupId = other.EffectGroupId;
      }
      if (other.IsEffective != false) {
        IsEffective = other.IsEffective;
      }
      if (other.PotentialTag1.Length != 0) {
        PotentialTag1 = other.PotentialTag1;
      }
      if (other.PotentialTag2.Length != 0) {
        PotentialTag2 = other.PotentialTag2;
      }
      if (other.PotentialTag3.Length != 0) {
        PotentialTag3 = other.PotentialTag3;
      }
      if (other.PotentialTag4.Length != 0) {
        PotentialTag4 = other.PotentialTag4;
      }
      if (other.Corner != 0) {
        Corner = other.Corner;
      }
      if (other.SpBg.Length != 0) {
        SpBg = other.SpBg;
      }
      if (other.SpFace.Length != 0) {
        SpFace = other.SpFace;
      }
      if (other.EffectId1 != 0) {
        EffectId1 = other.EffectId1;
      }
      if (other.EffectId2 != 0) {
        EffectId2 = other.EffectId2;
      }
      if (other.EffectId3 != 0) {
        EffectId3 = other.EffectId3;
      }
      if (other.EffectId4 != 0) {
        EffectId4 = other.EffectId4;
      }
      if (other.BriefDesc.Length != 0) {
        BriefDesc = other.BriefDesc;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      if (other.Param5.Length != 0) {
        Param5 = other.Param5;
      }
      if (other.Param6.Length != 0) {
        Param6 = other.Param6;
      }
      if (other.Param7.Length != 0) {
        Param7 = other.Param7;
      }
      if (other.Param8.Length != 0) {
        Param8 = other.Param8;
      }
      if (other.Param9.Length != 0) {
        Param9 = other.Param9;
      }
      if (other.Param10.Length != 0) {
        Param10 = other.Param10;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            BranchType = input.ReadInt32();
            break;
          }
          case 32: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 40: {
            ScoreGroupId = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            buildScore_.AddEntriesFrom(input, _repeated_buildScore_codec);
            break;
          }
          case 56: {
            GameBookId = input.ReadInt32();
            break;
          }
          case 64: {
            EffectGroupId = input.ReadInt32();
            break;
          }
          case 72: {
            IsEffective = input.ReadBool();
            break;
          }
          case 82: {
            PotentialTag1 = input.ReadString();
            break;
          }
          case 90: {
            PotentialTag2 = input.ReadString();
            break;
          }
          case 98: {
            PotentialTag3 = input.ReadString();
            break;
          }
          case 106: {
            PotentialTag4 = input.ReadString();
            break;
          }
          case 112: {
            Corner = input.ReadInt32();
            break;
          }
          case 122: {
            SpBg = input.ReadString();
            break;
          }
          case 130: {
            SpFace = input.ReadString();
            break;
          }
          case 136: {
            EffectId1 = input.ReadInt32();
            break;
          }
          case 144: {
            EffectId2 = input.ReadInt32();
            break;
          }
          case 152: {
            EffectId3 = input.ReadInt32();
            break;
          }
          case 160: {
            EffectId4 = input.ReadInt32();
            break;
          }
          case 170: {
            BriefDesc = input.ReadString();
            break;
          }
          case 178: {
            Desc = input.ReadString();
            break;
          }
          case 186: {
            Param1 = input.ReadString();
            break;
          }
          case 194: {
            Param2 = input.ReadString();
            break;
          }
          case 202: {
            Param3 = input.ReadString();
            break;
          }
          case 210: {
            Param4 = input.ReadString();
            break;
          }
          case 218: {
            Param5 = input.ReadString();
            break;
          }
          case 226: {
            Param6 = input.ReadString();
            break;
          }
          case 234: {
            Param7 = input.ReadString();
            break;
          }
          case 242: {
            Param8 = input.ReadString();
            break;
          }
          case 250: {
            Param9 = input.ReadString();
            break;
          }
          case 258: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            BranchType = input.ReadInt32();
            break;
          }
          case 32: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 40: {
            ScoreGroupId = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            buildScore_.AddEntriesFrom(ref input, _repeated_buildScore_codec);
            break;
          }
          case 56: {
            GameBookId = input.ReadInt32();
            break;
          }
          case 64: {
            EffectGroupId = input.ReadInt32();
            break;
          }
          case 72: {
            IsEffective = input.ReadBool();
            break;
          }
          case 82: {
            PotentialTag1 = input.ReadString();
            break;
          }
          case 90: {
            PotentialTag2 = input.ReadString();
            break;
          }
          case 98: {
            PotentialTag3 = input.ReadString();
            break;
          }
          case 106: {
            PotentialTag4 = input.ReadString();
            break;
          }
          case 112: {
            Corner = input.ReadInt32();
            break;
          }
          case 122: {
            SpBg = input.ReadString();
            break;
          }
          case 130: {
            SpFace = input.ReadString();
            break;
          }
          case 136: {
            EffectId1 = input.ReadInt32();
            break;
          }
          case 144: {
            EffectId2 = input.ReadInt32();
            break;
          }
          case 152: {
            EffectId3 = input.ReadInt32();
            break;
          }
          case 160: {
            EffectId4 = input.ReadInt32();
            break;
          }
          case 170: {
            BriefDesc = input.ReadString();
            break;
          }
          case 178: {
            Desc = input.ReadString();
            break;
          }
          case 186: {
            Param1 = input.ReadString();
            break;
          }
          case 194: {
            Param2 = input.ReadString();
            break;
          }
          case 202: {
            Param3 = input.ReadString();
            break;
          }
          case 210: {
            Param4 = input.ReadString();
            break;
          }
          case 218: {
            Param5 = input.ReadString();
            break;
          }
          case 226: {
            Param6 = input.ReadString();
            break;
          }
          case 234: {
            Param7 = input.ReadString();
            break;
          }
          case 242: {
            Param8 = input.ReadString();
            break;
          }
          case 250: {
            Param9 = input.ReadString();
            break;
          }
          case 258: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Potential : pb::IMessage<table_Potential>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Potential> _parser = new pb::MessageParser<table_Potential>(() => new table_Potential());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Potential> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[319]; }
    }

    [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 table_Potential() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Potential(table_Potential other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Potential Clone() {
      return new table_Potential(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Potential> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Potential.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Potential> list_ = new pbc::RepeatedField<global::Nova.Client.Potential>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Potential> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Potential);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Potential other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Potential other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PotentialPassiveSkill : pb::IMessage<PotentialPassiveSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PotentialPassiveSkill> _parser = new pb::MessageParser<PotentialPassiveSkill>(() => new PotentialPassiveSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PotentialPassiveSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[320]; }
    }

    [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 PotentialPassiveSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PotentialPassiveSkill(PotentialPassiveSkill other) : this() {
      id_ = other.id_;
      shareCD_ = other.shareCD_;
      shareTimes_ = other.shareTimes_;
      effectId1_ = other.effectId1_;
      effectId2_ = other.effectId2_;
      effectId3_ = other.effectId3_;
      effectId4_ = other.effectId4_;
      briefDesc_ = other.briefDesc_;
      desc_ = other.desc_;
      param1_ = other.param1_;
      param2_ = other.param2_;
      param3_ = other.param3_;
      param4_ = other.param4_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PotentialPassiveSkill Clone() {
      return new PotentialPassiveSkill(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ShareCD" field.</summary>
    public const int ShareCDFieldNumber = 2;
    private bool shareCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ShareCD {
      get { return shareCD_; }
      set {
        shareCD_ = value;
      }
    }

    /// <summary>Field number for the "ShareTimes" field.</summary>
    public const int ShareTimesFieldNumber = 3;
    private bool shareTimes_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ShareTimes {
      get { return shareTimes_; }
      set {
        shareTimes_ = value;
      }
    }

    /// <summary>Field number for the "EffectId1" field.</summary>
    public const int EffectId1FieldNumber = 4;
    private int effectId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId1 {
      get { return effectId1_; }
      set {
        effectId1_ = value;
      }
    }

    /// <summary>Field number for the "EffectId2" field.</summary>
    public const int EffectId2FieldNumber = 5;
    private int effectId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId2 {
      get { return effectId2_; }
      set {
        effectId2_ = value;
      }
    }

    /// <summary>Field number for the "EffectId3" field.</summary>
    public const int EffectId3FieldNumber = 6;
    private int effectId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId3 {
      get { return effectId3_; }
      set {
        effectId3_ = value;
      }
    }

    /// <summary>Field number for the "EffectId4" field.</summary>
    public const int EffectId4FieldNumber = 7;
    private int effectId4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId4 {
      get { return effectId4_; }
      set {
        effectId4_ = value;
      }
    }

    /// <summary>Field number for the "BriefDesc" field.</summary>
    public const int BriefDescFieldNumber = 8;
    private string briefDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BriefDesc {
      get { return briefDesc_; }
      set {
        briefDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 9;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 10;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 11;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 12;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 13;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = 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 PotentialPassiveSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PotentialPassiveSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ShareCD != other.ShareCD) return false;
      if (ShareTimes != other.ShareTimes) return false;
      if (EffectId1 != other.EffectId1) return false;
      if (EffectId2 != other.EffectId2) return false;
      if (EffectId3 != other.EffectId3) return false;
      if (EffectId4 != other.EffectId4) return false;
      if (BriefDesc != other.BriefDesc) return false;
      if (Desc != other.Desc) return false;
      if (Param1 != other.Param1) return false;
      if (Param2 != other.Param2) return false;
      if (Param3 != other.Param3) return false;
      if (Param4 != other.Param4) 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 (ShareCD != false) hash ^= ShareCD.GetHashCode();
      if (ShareTimes != false) hash ^= ShareTimes.GetHashCode();
      if (EffectId1 != 0) hash ^= EffectId1.GetHashCode();
      if (EffectId2 != 0) hash ^= EffectId2.GetHashCode();
      if (EffectId3 != 0) hash ^= EffectId3.GetHashCode();
      if (EffectId4 != 0) hash ^= EffectId4.GetHashCode();
      if (BriefDesc.Length != 0) hash ^= BriefDesc.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.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.WriteInt32(Id);
      }
      if (ShareCD != false) {
        output.WriteRawTag(16);
        output.WriteBool(ShareCD);
      }
      if (ShareTimes != false) {
        output.WriteRawTag(24);
        output.WriteBool(ShareTimes);
      }
      if (EffectId1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EffectId1);
      }
      if (EffectId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EffectId2);
      }
      if (EffectId3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(EffectId3);
      }
      if (EffectId4 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(EffectId4);
      }
      if (BriefDesc.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(BriefDesc);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param4);
      }
      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.WriteInt32(Id);
      }
      if (ShareCD != false) {
        output.WriteRawTag(16);
        output.WriteBool(ShareCD);
      }
      if (ShareTimes != false) {
        output.WriteRawTag(24);
        output.WriteBool(ShareTimes);
      }
      if (EffectId1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EffectId1);
      }
      if (EffectId2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EffectId2);
      }
      if (EffectId3 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(EffectId3);
      }
      if (EffectId4 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(EffectId4);
      }
      if (BriefDesc.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(BriefDesc);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Desc);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param4);
      }
      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.ComputeInt32Size(Id);
      }
      if (ShareCD != false) {
        size += 1 + 1;
      }
      if (ShareTimes != false) {
        size += 1 + 1;
      }
      if (EffectId1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId1);
      }
      if (EffectId2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId2);
      }
      if (EffectId3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId3);
      }
      if (EffectId4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId4);
      }
      if (BriefDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BriefDesc);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Param1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Param2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Param3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Param4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PotentialPassiveSkill other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ShareCD != false) {
        ShareCD = other.ShareCD;
      }
      if (other.ShareTimes != false) {
        ShareTimes = other.ShareTimes;
      }
      if (other.EffectId1 != 0) {
        EffectId1 = other.EffectId1;
      }
      if (other.EffectId2 != 0) {
        EffectId2 = other.EffectId2;
      }
      if (other.EffectId3 != 0) {
        EffectId3 = other.EffectId3;
      }
      if (other.EffectId4 != 0) {
        EffectId4 = other.EffectId4;
      }
      if (other.BriefDesc.Length != 0) {
        BriefDesc = other.BriefDesc;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ShareCD = input.ReadBool();
            break;
          }
          case 24: {
            ShareTimes = input.ReadBool();
            break;
          }
          case 32: {
            EffectId1 = input.ReadInt32();
            break;
          }
          case 40: {
            EffectId2 = input.ReadInt32();
            break;
          }
          case 48: {
            EffectId3 = input.ReadInt32();
            break;
          }
          case 56: {
            EffectId4 = input.ReadInt32();
            break;
          }
          case 66: {
            BriefDesc = input.ReadString();
            break;
          }
          case 74: {
            Desc = input.ReadString();
            break;
          }
          case 82: {
            Param1 = input.ReadString();
            break;
          }
          case 90: {
            Param2 = input.ReadString();
            break;
          }
          case 98: {
            Param3 = input.ReadString();
            break;
          }
          case 106: {
            Param4 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ShareCD = input.ReadBool();
            break;
          }
          case 24: {
            ShareTimes = input.ReadBool();
            break;
          }
          case 32: {
            EffectId1 = input.ReadInt32();
            break;
          }
          case 40: {
            EffectId2 = input.ReadInt32();
            break;
          }
          case 48: {
            EffectId3 = input.ReadInt32();
            break;
          }
          case 56: {
            EffectId4 = input.ReadInt32();
            break;
          }
          case 66: {
            BriefDesc = input.ReadString();
            break;
          }
          case 74: {
            Desc = input.ReadString();
            break;
          }
          case 82: {
            Param1 = input.ReadString();
            break;
          }
          case 90: {
            Param2 = input.ReadString();
            break;
          }
          case 98: {
            Param3 = input.ReadString();
            break;
          }
          case 106: {
            Param4 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PotentialPassiveSkill : pb::IMessage<table_PotentialPassiveSkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PotentialPassiveSkill> _parser = new pb::MessageParser<table_PotentialPassiveSkill>(() => new table_PotentialPassiveSkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PotentialPassiveSkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[321]; }
    }

    [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 table_PotentialPassiveSkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PotentialPassiveSkill(table_PotentialPassiveSkill other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PotentialPassiveSkill Clone() {
      return new table_PotentialPassiveSkill(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PotentialPassiveSkill> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PotentialPassiveSkill.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PotentialPassiveSkill> list_ = new pbc::RepeatedField<global::Nova.Client.PotentialPassiveSkill>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PotentialPassiveSkill> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PotentialPassiveSkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PotentialPassiveSkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PotentialPassiveSkill other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PreviewMonsterGroup : pb::IMessage<PreviewMonsterGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PreviewMonsterGroup> _parser = new pb::MessageParser<PreviewMonsterGroup>(() => new PreviewMonsterGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PreviewMonsterGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[322]; }
    }

    [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 PreviewMonsterGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PreviewMonsterGroup(PreviewMonsterGroup other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      previewMonsterListId_ = other.previewMonsterListId_;
      minLv_ = other.minLv_;
      maxLv_ = other.maxLv_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PreviewMonsterGroup Clone() {
      return new PreviewMonsterGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "PreviewMonsterListId" field.</summary>
    public const int PreviewMonsterListIdFieldNumber = 3;
    private int previewMonsterListId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterListId {
      get { return previewMonsterListId_; }
      set {
        previewMonsterListId_ = value;
      }
    }

    /// <summary>Field number for the "MinLv" field.</summary>
    public const int MinLvFieldNumber = 4;
    private string minLv_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MinLv {
      get { return minLv_; }
      set {
        minLv_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MaxLv" field.</summary>
    public const int MaxLvFieldNumber = 5;
    private string maxLv_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string MaxLv {
      get { return maxLv_; }
      set {
        maxLv_ = 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 PreviewMonsterGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PreviewMonsterGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (PreviewMonsterListId != other.PreviewMonsterListId) return false;
      if (MinLv != other.MinLv) return false;
      if (MaxLv != other.MaxLv) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (PreviewMonsterListId != 0) hash ^= PreviewMonsterListId.GetHashCode();
      if (MinLv.Length != 0) hash ^= MinLv.GetHashCode();
      if (MaxLv.Length != 0) hash ^= MaxLv.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (PreviewMonsterListId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PreviewMonsterListId);
      }
      if (MinLv.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(MinLv);
      }
      if (MaxLv.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(MaxLv);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (PreviewMonsterListId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PreviewMonsterListId);
      }
      if (MinLv.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(MinLv);
      }
      if (MaxLv.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(MaxLv);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (PreviewMonsterListId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterListId);
      }
      if (MinLv.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MinLv);
      }
      if (MaxLv.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(MaxLv);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PreviewMonsterGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.PreviewMonsterListId != 0) {
        PreviewMonsterListId = other.PreviewMonsterListId;
      }
      if (other.MinLv.Length != 0) {
        MinLv = other.MinLv;
      }
      if (other.MaxLv.Length != 0) {
        MaxLv = other.MaxLv;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            PreviewMonsterListId = input.ReadInt32();
            break;
          }
          case 34: {
            MinLv = input.ReadString();
            break;
          }
          case 42: {
            MaxLv = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            PreviewMonsterListId = input.ReadInt32();
            break;
          }
          case 34: {
            MinLv = input.ReadString();
            break;
          }
          case 42: {
            MaxLv = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PreviewMonsterGroup : pb::IMessage<table_PreviewMonsterGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PreviewMonsterGroup> _parser = new pb::MessageParser<table_PreviewMonsterGroup>(() => new table_PreviewMonsterGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PreviewMonsterGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[323]; }
    }

    [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 table_PreviewMonsterGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PreviewMonsterGroup(table_PreviewMonsterGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PreviewMonsterGroup Clone() {
      return new table_PreviewMonsterGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PreviewMonsterGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PreviewMonsterGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PreviewMonsterGroup> list_ = new pbc::RepeatedField<global::Nova.Client.PreviewMonsterGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PreviewMonsterGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PreviewMonsterGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PreviewMonsterGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PreviewMonsterGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class PreviewMonsterList : pb::IMessage<PreviewMonsterList>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<PreviewMonsterList> _parser = new pb::MessageParser<PreviewMonsterList>(() => new PreviewMonsterList());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<PreviewMonsterList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[324]; }
    }

    [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 PreviewMonsterList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PreviewMonsterList(PreviewMonsterList other) : this() {
      id_ = other.id_;
      icon_ = other.icon_;
      name_ = other.name_;
      resistEET_ = other.resistEET_.Clone();
      eET_ = other.eET_.Clone();
      desc_ = other.desc_;
      skillDesc_ = other.skillDesc_;
      epicLv_ = other.epicLv_;
      hP_ = other.hP_;
      aTK_ = other.aTK_;
      dEF_ = other.dEF_;
      tOUGHNESS_ = other.tOUGHNESS_;
      abilityTitle1_ = other.abilityTitle1_;
      abilityDesc1_ = other.abilityDesc1_;
      abilityTitle2_ = other.abilityTitle2_;
      abilityDesc2_ = other.abilityDesc2_;
      abilityTitle3_ = other.abilityTitle3_;
      abilityDesc3_ = other.abilityDesc3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public PreviewMonsterList Clone() {
      return new PreviewMonsterList(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 2;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ResistEET" field.</summary>
    public const int ResistEETFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_resistEET_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> resistEET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ResistEET {
      get { return resistEET_; }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_eET_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> eET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EET {
      get { return eET_; }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 6;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SkillDesc" field.</summary>
    public const int SkillDescFieldNumber = 7;
    private string skillDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SkillDesc {
      get { return skillDesc_; }
      set {
        skillDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EpicLv" field.</summary>
    public const int EpicLvFieldNumber = 8;
    private int epicLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EpicLv {
      get { return epicLv_; }
      set {
        epicLv_ = value;
      }
    }

    /// <summary>Field number for the "HP" field.</summary>
    public const int HPFieldNumber = 9;
    private int hP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HP {
      get { return hP_; }
      set {
        hP_ = value;
      }
    }

    /// <summary>Field number for the "ATK" field.</summary>
    public const int ATKFieldNumber = 10;
    private int aTK_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ATK {
      get { return aTK_; }
      set {
        aTK_ = value;
      }
    }

    /// <summary>Field number for the "DEF" field.</summary>
    public const int DEFFieldNumber = 11;
    private int dEF_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DEF {
      get { return dEF_; }
      set {
        dEF_ = value;
      }
    }

    /// <summary>Field number for the "TOUGHNESS" field.</summary>
    public const int TOUGHNESSFieldNumber = 12;
    private int tOUGHNESS_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TOUGHNESS {
      get { return tOUGHNESS_; }
      set {
        tOUGHNESS_ = value;
      }
    }

    /// <summary>Field number for the "AbilityTitle1" field.</summary>
    public const int AbilityTitle1FieldNumber = 13;
    private string abilityTitle1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AbilityTitle1 {
      get { return abilityTitle1_; }
      set {
        abilityTitle1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AbilityDesc1" field.</summary>
    public const int AbilityDesc1FieldNumber = 14;
    private string abilityDesc1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AbilityDesc1 {
      get { return abilityDesc1_; }
      set {
        abilityDesc1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AbilityTitle2" field.</summary>
    public const int AbilityTitle2FieldNumber = 15;
    private string abilityTitle2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AbilityTitle2 {
      get { return abilityTitle2_; }
      set {
        abilityTitle2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AbilityDesc2" field.</summary>
    public const int AbilityDesc2FieldNumber = 16;
    private string abilityDesc2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AbilityDesc2 {
      get { return abilityDesc2_; }
      set {
        abilityDesc2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AbilityTitle3" field.</summary>
    public const int AbilityTitle3FieldNumber = 17;
    private string abilityTitle3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AbilityTitle3 {
      get { return abilityTitle3_; }
      set {
        abilityTitle3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AbilityDesc3" field.</summary>
    public const int AbilityDesc3FieldNumber = 18;
    private string abilityDesc3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AbilityDesc3 {
      get { return abilityDesc3_; }
      set {
        abilityDesc3_ = 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 PreviewMonsterList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(PreviewMonsterList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Icon != other.Icon) return false;
      if (Name != other.Name) return false;
      if(!resistEET_.Equals(other.resistEET_)) return false;
      if(!eET_.Equals(other.eET_)) return false;
      if (Desc != other.Desc) return false;
      if (SkillDesc != other.SkillDesc) return false;
      if (EpicLv != other.EpicLv) return false;
      if (HP != other.HP) return false;
      if (ATK != other.ATK) return false;
      if (DEF != other.DEF) return false;
      if (TOUGHNESS != other.TOUGHNESS) return false;
      if (AbilityTitle1 != other.AbilityTitle1) return false;
      if (AbilityDesc1 != other.AbilityDesc1) return false;
      if (AbilityTitle2 != other.AbilityTitle2) return false;
      if (AbilityDesc2 != other.AbilityDesc2) return false;
      if (AbilityTitle3 != other.AbilityTitle3) return false;
      if (AbilityDesc3 != other.AbilityDesc3) 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 (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      hash ^= resistEET_.GetHashCode();
      hash ^= eET_.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (SkillDesc.Length != 0) hash ^= SkillDesc.GetHashCode();
      if (EpicLv != 0) hash ^= EpicLv.GetHashCode();
      if (HP != 0) hash ^= HP.GetHashCode();
      if (ATK != 0) hash ^= ATK.GetHashCode();
      if (DEF != 0) hash ^= DEF.GetHashCode();
      if (TOUGHNESS != 0) hash ^= TOUGHNESS.GetHashCode();
      if (AbilityTitle1.Length != 0) hash ^= AbilityTitle1.GetHashCode();
      if (AbilityDesc1.Length != 0) hash ^= AbilityDesc1.GetHashCode();
      if (AbilityTitle2.Length != 0) hash ^= AbilityTitle2.GetHashCode();
      if (AbilityDesc2.Length != 0) hash ^= AbilityDesc2.GetHashCode();
      if (AbilityTitle3.Length != 0) hash ^= AbilityTitle3.GetHashCode();
      if (AbilityDesc3.Length != 0) hash ^= AbilityDesc3.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.WriteInt32(Id);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      resistEET_.WriteTo(output, _repeated_resistEET_codec);
      eET_.WriteTo(output, _repeated_eET_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Desc);
      }
      if (SkillDesc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(SkillDesc);
      }
      if (EpicLv != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EpicLv);
      }
      if (HP != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(HP);
      }
      if (ATK != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ATK);
      }
      if (DEF != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(DEF);
      }
      if (TOUGHNESS != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(TOUGHNESS);
      }
      if (AbilityTitle1.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(AbilityTitle1);
      }
      if (AbilityDesc1.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(AbilityDesc1);
      }
      if (AbilityTitle2.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(AbilityTitle2);
      }
      if (AbilityDesc2.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(AbilityDesc2);
      }
      if (AbilityTitle3.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(AbilityTitle3);
      }
      if (AbilityDesc3.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(AbilityDesc3);
      }
      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.WriteInt32(Id);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      resistEET_.WriteTo(ref output, _repeated_resistEET_codec);
      eET_.WriteTo(ref output, _repeated_eET_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Desc);
      }
      if (SkillDesc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(SkillDesc);
      }
      if (EpicLv != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(EpicLv);
      }
      if (HP != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(HP);
      }
      if (ATK != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(ATK);
      }
      if (DEF != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(DEF);
      }
      if (TOUGHNESS != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(TOUGHNESS);
      }
      if (AbilityTitle1.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(AbilityTitle1);
      }
      if (AbilityDesc1.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(AbilityDesc1);
      }
      if (AbilityTitle2.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(AbilityTitle2);
      }
      if (AbilityDesc2.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(AbilityDesc2);
      }
      if (AbilityTitle3.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(AbilityTitle3);
      }
      if (AbilityDesc3.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(AbilityDesc3);
      }
      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.ComputeInt32Size(Id);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      size += resistEET_.CalculateSize(_repeated_resistEET_codec);
      size += eET_.CalculateSize(_repeated_eET_codec);
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (SkillDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SkillDesc);
      }
      if (EpicLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EpicLv);
      }
      if (HP != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(HP);
      }
      if (ATK != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ATK);
      }
      if (DEF != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DEF);
      }
      if (TOUGHNESS != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TOUGHNESS);
      }
      if (AbilityTitle1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AbilityTitle1);
      }
      if (AbilityDesc1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AbilityDesc1);
      }
      if (AbilityTitle2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AbilityTitle2);
      }
      if (AbilityDesc2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AbilityDesc2);
      }
      if (AbilityTitle3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AbilityTitle3);
      }
      if (AbilityDesc3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AbilityDesc3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(PreviewMonsterList other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      resistEET_.Add(other.resistEET_);
      eET_.Add(other.eET_);
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.SkillDesc.Length != 0) {
        SkillDesc = other.SkillDesc;
      }
      if (other.EpicLv != 0) {
        EpicLv = other.EpicLv;
      }
      if (other.HP != 0) {
        HP = other.HP;
      }
      if (other.ATK != 0) {
        ATK = other.ATK;
      }
      if (other.DEF != 0) {
        DEF = other.DEF;
      }
      if (other.TOUGHNESS != 0) {
        TOUGHNESS = other.TOUGHNESS;
      }
      if (other.AbilityTitle1.Length != 0) {
        AbilityTitle1 = other.AbilityTitle1;
      }
      if (other.AbilityDesc1.Length != 0) {
        AbilityDesc1 = other.AbilityDesc1;
      }
      if (other.AbilityTitle2.Length != 0) {
        AbilityTitle2 = other.AbilityTitle2;
      }
      if (other.AbilityDesc2.Length != 0) {
        AbilityDesc2 = other.AbilityDesc2;
      }
      if (other.AbilityTitle3.Length != 0) {
        AbilityTitle3 = other.AbilityTitle3;
      }
      if (other.AbilityDesc3.Length != 0) {
        AbilityDesc3 = other.AbilityDesc3;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            resistEET_.AddEntriesFrom(input, _repeated_resistEET_codec);
            break;
          }
          case 42:
          case 40: {
            eET_.AddEntriesFrom(input, _repeated_eET_codec);
            break;
          }
          case 50: {
            Desc = input.ReadString();
            break;
          }
          case 58: {
            SkillDesc = input.ReadString();
            break;
          }
          case 64: {
            EpicLv = input.ReadInt32();
            break;
          }
          case 72: {
            HP = input.ReadInt32();
            break;
          }
          case 80: {
            ATK = input.ReadInt32();
            break;
          }
          case 88: {
            DEF = input.ReadInt32();
            break;
          }
          case 96: {
            TOUGHNESS = input.ReadInt32();
            break;
          }
          case 106: {
            AbilityTitle1 = input.ReadString();
            break;
          }
          case 114: {
            AbilityDesc1 = input.ReadString();
            break;
          }
          case 122: {
            AbilityTitle2 = input.ReadString();
            break;
          }
          case 130: {
            AbilityDesc2 = input.ReadString();
            break;
          }
          case 138: {
            AbilityTitle3 = input.ReadString();
            break;
          }
          case 146: {
            AbilityDesc3 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            resistEET_.AddEntriesFrom(ref input, _repeated_resistEET_codec);
            break;
          }
          case 42:
          case 40: {
            eET_.AddEntriesFrom(ref input, _repeated_eET_codec);
            break;
          }
          case 50: {
            Desc = input.ReadString();
            break;
          }
          case 58: {
            SkillDesc = input.ReadString();
            break;
          }
          case 64: {
            EpicLv = input.ReadInt32();
            break;
          }
          case 72: {
            HP = input.ReadInt32();
            break;
          }
          case 80: {
            ATK = input.ReadInt32();
            break;
          }
          case 88: {
            DEF = input.ReadInt32();
            break;
          }
          case 96: {
            TOUGHNESS = input.ReadInt32();
            break;
          }
          case 106: {
            AbilityTitle1 = input.ReadString();
            break;
          }
          case 114: {
            AbilityDesc1 = input.ReadString();
            break;
          }
          case 122: {
            AbilityTitle2 = input.ReadString();
            break;
          }
          case 130: {
            AbilityDesc2 = input.ReadString();
            break;
          }
          case 138: {
            AbilityTitle3 = input.ReadString();
            break;
          }
          case 146: {
            AbilityDesc3 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_PreviewMonsterList : pb::IMessage<table_PreviewMonsterList>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_PreviewMonsterList> _parser = new pb::MessageParser<table_PreviewMonsterList>(() => new table_PreviewMonsterList());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_PreviewMonsterList> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[325]; }
    }

    [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 table_PreviewMonsterList() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PreviewMonsterList(table_PreviewMonsterList other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_PreviewMonsterList Clone() {
      return new table_PreviewMonsterList(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.PreviewMonsterList> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.PreviewMonsterList.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.PreviewMonsterList> list_ = new pbc::RepeatedField<global::Nova.Client.PreviewMonsterList>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.PreviewMonsterList> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_PreviewMonsterList);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_PreviewMonsterList other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_PreviewMonsterList other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Production : pb::IMessage<Production>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Production> _parser = new pb::MessageParser<Production>(() => new Production());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Production> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[326]; }
    }

    [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 Production() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Production(Production other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      productionId_ = other.productionId_;
      productionPerBatch_ = other.productionPerBatch_;
      showProductionId_ = other.showProductionId_;
      showProductionPerBatch_ = other.showProductionPerBatch_;
      group_ = other.group_;
      tag_ = other.tag_;
      rawMaterialId1_ = other.rawMaterialId1_;
      rawMaterialCount1_ = other.rawMaterialCount1_;
      rawMaterialId2_ = other.rawMaterialId2_;
      rawMaterialCount2_ = other.rawMaterialCount2_;
      rawMaterialId3_ = other.rawMaterialId3_;
      rawMaterialCount3_ = other.rawMaterialCount3_;
      rawMaterialId4_ = other.rawMaterialId4_;
      rawMaterialCount4_ = other.rawMaterialCount4_;
      isShowWorldLevel_ = other.isShowWorldLevel_;
      unlockWorldLevel_ = other.unlockWorldLevel_;
      unlockTip_ = other.unlockTip_;
      sortId_ = other.sortId_;
      isActived_ = other.isActived_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Production Clone() {
      return new Production(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ProductionId" field.</summary>
    public const int ProductionIdFieldNumber = 4;
    private int productionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ProductionId {
      get { return productionId_; }
      set {
        productionId_ = value;
      }
    }

    /// <summary>Field number for the "ProductionPerBatch" field.</summary>
    public const int ProductionPerBatchFieldNumber = 5;
    private int productionPerBatch_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ProductionPerBatch {
      get { return productionPerBatch_; }
      set {
        productionPerBatch_ = value;
      }
    }

    /// <summary>Field number for the "ShowProductionId" field.</summary>
    public const int ShowProductionIdFieldNumber = 6;
    private int showProductionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShowProductionId {
      get { return showProductionId_; }
      set {
        showProductionId_ = value;
      }
    }

    /// <summary>Field number for the "ShowProductionPerBatch" field.</summary>
    public const int ShowProductionPerBatchFieldNumber = 7;
    private int showProductionPerBatch_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShowProductionPerBatch {
      get { return showProductionPerBatch_; }
      set {
        showProductionPerBatch_ = value;
      }
    }

    /// <summary>Field number for the "Group" field.</summary>
    public const int GroupFieldNumber = 8;
    private int group_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Group {
      get { return group_; }
      set {
        group_ = value;
      }
    }

    /// <summary>Field number for the "Tag" field.</summary>
    public const int TagFieldNumber = 9;
    private int tag_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Tag {
      get { return tag_; }
      set {
        tag_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialId1" field.</summary>
    public const int RawMaterialId1FieldNumber = 10;
    private int rawMaterialId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialId1 {
      get { return rawMaterialId1_; }
      set {
        rawMaterialId1_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialCount1" field.</summary>
    public const int RawMaterialCount1FieldNumber = 11;
    private int rawMaterialCount1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialCount1 {
      get { return rawMaterialCount1_; }
      set {
        rawMaterialCount1_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialId2" field.</summary>
    public const int RawMaterialId2FieldNumber = 12;
    private int rawMaterialId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialId2 {
      get { return rawMaterialId2_; }
      set {
        rawMaterialId2_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialCount2" field.</summary>
    public const int RawMaterialCount2FieldNumber = 13;
    private int rawMaterialCount2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialCount2 {
      get { return rawMaterialCount2_; }
      set {
        rawMaterialCount2_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialId3" field.</summary>
    public const int RawMaterialId3FieldNumber = 14;
    private int rawMaterialId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialId3 {
      get { return rawMaterialId3_; }
      set {
        rawMaterialId3_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialCount3" field.</summary>
    public const int RawMaterialCount3FieldNumber = 15;
    private int rawMaterialCount3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialCount3 {
      get { return rawMaterialCount3_; }
      set {
        rawMaterialCount3_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialId4" field.</summary>
    public const int RawMaterialId4FieldNumber = 16;
    private int rawMaterialId4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialId4 {
      get { return rawMaterialId4_; }
      set {
        rawMaterialId4_ = value;
      }
    }

    /// <summary>Field number for the "RawMaterialCount4" field.</summary>
    public const int RawMaterialCount4FieldNumber = 17;
    private int rawMaterialCount4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RawMaterialCount4 {
      get { return rawMaterialCount4_; }
      set {
        rawMaterialCount4_ = value;
      }
    }

    /// <summary>Field number for the "IsShowWorldLevel" field.</summary>
    public const int IsShowWorldLevelFieldNumber = 18;
    private int isShowWorldLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int IsShowWorldLevel {
      get { return isShowWorldLevel_; }
      set {
        isShowWorldLevel_ = value;
      }
    }

    /// <summary>Field number for the "UnlockWorldLevel" field.</summary>
    public const int UnlockWorldLevelFieldNumber = 19;
    private int unlockWorldLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockWorldLevel {
      get { return unlockWorldLevel_; }
      set {
        unlockWorldLevel_ = value;
      }
    }

    /// <summary>Field number for the "UnlockTip" field.</summary>
    public const int UnlockTipFieldNumber = 20;
    private string unlockTip_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnlockTip {
      get { return unlockTip_; }
      set {
        unlockTip_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SortId" field.</summary>
    public const int SortIdFieldNumber = 21;
    private int sortId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SortId {
      get { return sortId_; }
      set {
        sortId_ = value;
      }
    }

    /// <summary>Field number for the "IsActived" field.</summary>
    public const int IsActivedFieldNumber = 22;
    private bool isActived_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsActived {
      get { return isActived_; }
      set {
        isActived_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Production);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Production other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (ProductionId != other.ProductionId) return false;
      if (ProductionPerBatch != other.ProductionPerBatch) return false;
      if (ShowProductionId != other.ShowProductionId) return false;
      if (ShowProductionPerBatch != other.ShowProductionPerBatch) return false;
      if (Group != other.Group) return false;
      if (Tag != other.Tag) return false;
      if (RawMaterialId1 != other.RawMaterialId1) return false;
      if (RawMaterialCount1 != other.RawMaterialCount1) return false;
      if (RawMaterialId2 != other.RawMaterialId2) return false;
      if (RawMaterialCount2 != other.RawMaterialCount2) return false;
      if (RawMaterialId3 != other.RawMaterialId3) return false;
      if (RawMaterialCount3 != other.RawMaterialCount3) return false;
      if (RawMaterialId4 != other.RawMaterialId4) return false;
      if (RawMaterialCount4 != other.RawMaterialCount4) return false;
      if (IsShowWorldLevel != other.IsShowWorldLevel) return false;
      if (UnlockWorldLevel != other.UnlockWorldLevel) return false;
      if (UnlockTip != other.UnlockTip) return false;
      if (SortId != other.SortId) return false;
      if (IsActived != other.IsActived) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (ProductionId != 0) hash ^= ProductionId.GetHashCode();
      if (ProductionPerBatch != 0) hash ^= ProductionPerBatch.GetHashCode();
      if (ShowProductionId != 0) hash ^= ShowProductionId.GetHashCode();
      if (ShowProductionPerBatch != 0) hash ^= ShowProductionPerBatch.GetHashCode();
      if (Group != 0) hash ^= Group.GetHashCode();
      if (Tag != 0) hash ^= Tag.GetHashCode();
      if (RawMaterialId1 != 0) hash ^= RawMaterialId1.GetHashCode();
      if (RawMaterialCount1 != 0) hash ^= RawMaterialCount1.GetHashCode();
      if (RawMaterialId2 != 0) hash ^= RawMaterialId2.GetHashCode();
      if (RawMaterialCount2 != 0) hash ^= RawMaterialCount2.GetHashCode();
      if (RawMaterialId3 != 0) hash ^= RawMaterialId3.GetHashCode();
      if (RawMaterialCount3 != 0) hash ^= RawMaterialCount3.GetHashCode();
      if (RawMaterialId4 != 0) hash ^= RawMaterialId4.GetHashCode();
      if (RawMaterialCount4 != 0) hash ^= RawMaterialCount4.GetHashCode();
      if (IsShowWorldLevel != 0) hash ^= IsShowWorldLevel.GetHashCode();
      if (UnlockWorldLevel != 0) hash ^= UnlockWorldLevel.GetHashCode();
      if (UnlockTip.Length != 0) hash ^= UnlockTip.GetHashCode();
      if (SortId != 0) hash ^= SortId.GetHashCode();
      if (IsActived != false) hash ^= IsActived.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (ProductionId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ProductionId);
      }
      if (ProductionPerBatch != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ProductionPerBatch);
      }
      if (ShowProductionId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ShowProductionId);
      }
      if (ShowProductionPerBatch != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ShowProductionPerBatch);
      }
      if (Group != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Group);
      }
      if (Tag != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Tag);
      }
      if (RawMaterialId1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RawMaterialId1);
      }
      if (RawMaterialCount1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RawMaterialCount1);
      }
      if (RawMaterialId2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RawMaterialId2);
      }
      if (RawMaterialCount2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(RawMaterialCount2);
      }
      if (RawMaterialId3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(RawMaterialId3);
      }
      if (RawMaterialCount3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(RawMaterialCount3);
      }
      if (RawMaterialId4 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(RawMaterialId4);
      }
      if (RawMaterialCount4 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(RawMaterialCount4);
      }
      if (IsShowWorldLevel != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(IsShowWorldLevel);
      }
      if (UnlockWorldLevel != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(UnlockWorldLevel);
      }
      if (UnlockTip.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(UnlockTip);
      }
      if (SortId != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(SortId);
      }
      if (IsActived != false) {
        output.WriteRawTag(176, 1);
        output.WriteBool(IsActived);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (ProductionId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ProductionId);
      }
      if (ProductionPerBatch != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ProductionPerBatch);
      }
      if (ShowProductionId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ShowProductionId);
      }
      if (ShowProductionPerBatch != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ShowProductionPerBatch);
      }
      if (Group != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Group);
      }
      if (Tag != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Tag);
      }
      if (RawMaterialId1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RawMaterialId1);
      }
      if (RawMaterialCount1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RawMaterialCount1);
      }
      if (RawMaterialId2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RawMaterialId2);
      }
      if (RawMaterialCount2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(RawMaterialCount2);
      }
      if (RawMaterialId3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(RawMaterialId3);
      }
      if (RawMaterialCount3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(RawMaterialCount3);
      }
      if (RawMaterialId4 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(RawMaterialId4);
      }
      if (RawMaterialCount4 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(RawMaterialCount4);
      }
      if (IsShowWorldLevel != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(IsShowWorldLevel);
      }
      if (UnlockWorldLevel != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(UnlockWorldLevel);
      }
      if (UnlockTip.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(UnlockTip);
      }
      if (SortId != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(SortId);
      }
      if (IsActived != false) {
        output.WriteRawTag(176, 1);
        output.WriteBool(IsActived);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (ProductionId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ProductionId);
      }
      if (ProductionPerBatch != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ProductionPerBatch);
      }
      if (ShowProductionId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShowProductionId);
      }
      if (ShowProductionPerBatch != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShowProductionPerBatch);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (Tag != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tag);
      }
      if (RawMaterialId1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialId1);
      }
      if (RawMaterialCount1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialCount1);
      }
      if (RawMaterialId2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialId2);
      }
      if (RawMaterialCount2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialCount2);
      }
      if (RawMaterialId3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialId3);
      }
      if (RawMaterialCount3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialCount3);
      }
      if (RawMaterialId4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialId4);
      }
      if (RawMaterialCount4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RawMaterialCount4);
      }
      if (IsShowWorldLevel != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(IsShowWorldLevel);
      }
      if (UnlockWorldLevel != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(UnlockWorldLevel);
      }
      if (UnlockTip.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(UnlockTip);
      }
      if (SortId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SortId);
      }
      if (IsActived != false) {
        size += 2 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Production other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.ProductionId != 0) {
        ProductionId = other.ProductionId;
      }
      if (other.ProductionPerBatch != 0) {
        ProductionPerBatch = other.ProductionPerBatch;
      }
      if (other.ShowProductionId != 0) {
        ShowProductionId = other.ShowProductionId;
      }
      if (other.ShowProductionPerBatch != 0) {
        ShowProductionPerBatch = other.ShowProductionPerBatch;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      if (other.Tag != 0) {
        Tag = other.Tag;
      }
      if (other.RawMaterialId1 != 0) {
        RawMaterialId1 = other.RawMaterialId1;
      }
      if (other.RawMaterialCount1 != 0) {
        RawMaterialCount1 = other.RawMaterialCount1;
      }
      if (other.RawMaterialId2 != 0) {
        RawMaterialId2 = other.RawMaterialId2;
      }
      if (other.RawMaterialCount2 != 0) {
        RawMaterialCount2 = other.RawMaterialCount2;
      }
      if (other.RawMaterialId3 != 0) {
        RawMaterialId3 = other.RawMaterialId3;
      }
      if (other.RawMaterialCount3 != 0) {
        RawMaterialCount3 = other.RawMaterialCount3;
      }
      if (other.RawMaterialId4 != 0) {
        RawMaterialId4 = other.RawMaterialId4;
      }
      if (other.RawMaterialCount4 != 0) {
        RawMaterialCount4 = other.RawMaterialCount4;
      }
      if (other.IsShowWorldLevel != 0) {
        IsShowWorldLevel = other.IsShowWorldLevel;
      }
      if (other.UnlockWorldLevel != 0) {
        UnlockWorldLevel = other.UnlockWorldLevel;
      }
      if (other.UnlockTip.Length != 0) {
        UnlockTip = other.UnlockTip;
      }
      if (other.SortId != 0) {
        SortId = other.SortId;
      }
      if (other.IsActived != false) {
        IsActived = other.IsActived;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            ProductionId = input.ReadInt32();
            break;
          }
          case 40: {
            ProductionPerBatch = input.ReadInt32();
            break;
          }
          case 48: {
            ShowProductionId = input.ReadInt32();
            break;
          }
          case 56: {
            ShowProductionPerBatch = input.ReadInt32();
            break;
          }
          case 64: {
            Group = input.ReadInt32();
            break;
          }
          case 72: {
            Tag = input.ReadInt32();
            break;
          }
          case 80: {
            RawMaterialId1 = input.ReadInt32();
            break;
          }
          case 88: {
            RawMaterialCount1 = input.ReadInt32();
            break;
          }
          case 96: {
            RawMaterialId2 = input.ReadInt32();
            break;
          }
          case 104: {
            RawMaterialCount2 = input.ReadInt32();
            break;
          }
          case 112: {
            RawMaterialId3 = input.ReadInt32();
            break;
          }
          case 120: {
            RawMaterialCount3 = input.ReadInt32();
            break;
          }
          case 128: {
            RawMaterialId4 = input.ReadInt32();
            break;
          }
          case 136: {
            RawMaterialCount4 = input.ReadInt32();
            break;
          }
          case 144: {
            IsShowWorldLevel = input.ReadInt32();
            break;
          }
          case 152: {
            UnlockWorldLevel = input.ReadInt32();
            break;
          }
          case 162: {
            UnlockTip = input.ReadString();
            break;
          }
          case 168: {
            SortId = input.ReadInt32();
            break;
          }
          case 176: {
            IsActived = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            ProductionId = input.ReadInt32();
            break;
          }
          case 40: {
            ProductionPerBatch = input.ReadInt32();
            break;
          }
          case 48: {
            ShowProductionId = input.ReadInt32();
            break;
          }
          case 56: {
            ShowProductionPerBatch = input.ReadInt32();
            break;
          }
          case 64: {
            Group = input.ReadInt32();
            break;
          }
          case 72: {
            Tag = input.ReadInt32();
            break;
          }
          case 80: {
            RawMaterialId1 = input.ReadInt32();
            break;
          }
          case 88: {
            RawMaterialCount1 = input.ReadInt32();
            break;
          }
          case 96: {
            RawMaterialId2 = input.ReadInt32();
            break;
          }
          case 104: {
            RawMaterialCount2 = input.ReadInt32();
            break;
          }
          case 112: {
            RawMaterialId3 = input.ReadInt32();
            break;
          }
          case 120: {
            RawMaterialCount3 = input.ReadInt32();
            break;
          }
          case 128: {
            RawMaterialId4 = input.ReadInt32();
            break;
          }
          case 136: {
            RawMaterialCount4 = input.ReadInt32();
            break;
          }
          case 144: {
            IsShowWorldLevel = input.ReadInt32();
            break;
          }
          case 152: {
            UnlockWorldLevel = input.ReadInt32();
            break;
          }
          case 162: {
            UnlockTip = input.ReadString();
            break;
          }
          case 168: {
            SortId = input.ReadInt32();
            break;
          }
          case 176: {
            IsActived = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Production : pb::IMessage<table_Production>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Production> _parser = new pb::MessageParser<table_Production>(() => new table_Production());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Production> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[327]; }
    }

    [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 table_Production() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Production(table_Production other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Production Clone() {
      return new table_Production(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Production> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Production.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Production> list_ = new pbc::RepeatedField<global::Nova.Client.Production>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Production> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Production);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Production other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Production other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ProductionType : pb::IMessage<ProductionType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ProductionType> _parser = new pb::MessageParser<ProductionType>(() => new ProductionType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ProductionType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[328]; }
    }

    [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 ProductionType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ProductionType(ProductionType other) : this() {
      id_ = other.id_;
      typeName_ = other.typeName_;
      sortId_ = other.sortId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ProductionType Clone() {
      return new ProductionType(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "TypeName" field.</summary>
    public const int TypeNameFieldNumber = 2;
    private string typeName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TypeName {
      get { return typeName_; }
      set {
        typeName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SortId" field.</summary>
    public const int SortIdFieldNumber = 3;
    private int sortId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SortId {
      get { return sortId_; }
      set {
        sortId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ProductionType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ProductionType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (TypeName != other.TypeName) return false;
      if (SortId != other.SortId) 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 (TypeName.Length != 0) hash ^= TypeName.GetHashCode();
      if (SortId != 0) hash ^= SortId.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.WriteInt32(Id);
      }
      if (TypeName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TypeName);
      }
      if (SortId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SortId);
      }
      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.WriteInt32(Id);
      }
      if (TypeName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(TypeName);
      }
      if (SortId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(SortId);
      }
      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.ComputeInt32Size(Id);
      }
      if (TypeName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TypeName);
      }
      if (SortId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SortId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ProductionType other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.TypeName.Length != 0) {
        TypeName = other.TypeName;
      }
      if (other.SortId != 0) {
        SortId = other.SortId;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            TypeName = input.ReadString();
            break;
          }
          case 24: {
            SortId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            TypeName = input.ReadString();
            break;
          }
          case 24: {
            SortId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ProductionType : pb::IMessage<table_ProductionType>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ProductionType> _parser = new pb::MessageParser<table_ProductionType>(() => new table_ProductionType());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ProductionType> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[329]; }
    }

    [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 table_ProductionType() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ProductionType(table_ProductionType other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ProductionType Clone() {
      return new table_ProductionType(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ProductionType> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ProductionType.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ProductionType> list_ = new pbc::RepeatedField<global::Nova.Client.ProductionType>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ProductionType> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ProductionType);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ProductionType other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ProductionType other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class RandomLevelMonster : pb::IMessage<RandomLevelMonster>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RandomLevelMonster> _parser = new pb::MessageParser<RandomLevelMonster>(() => new RandomLevelMonster());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RandomLevelMonster> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[330]; }
    }

    [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 RandomLevelMonster() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RandomLevelMonster(RandomLevelMonster other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      epicLv_ = other.epicLv_;
      bloodType_ = other.bloodType_;
      eET_ = other.eET_;
      fCId_ = other.fCId_;
      fAId_ = other.fAId_;
      movType_ = other.movType_;
      runSpd_ = other.runSpd_;
      transSpdScale_ = other.transSpdScale_;
      walkSpd_ = other.walkSpd_;
      movAcc_ = other.movAcc_;
      visionRng_ = other.visionRng_;
      visionDeg_ = other.visionDeg_;
      hearRng_ = other.hearRng_;
      refRng_ = other.refRng_;
      actRng_ = other.actRng_;
      disActRng_ = other.disActRng_;
      rotSpd_ = other.rotSpd_;
      templete_ = other.templete_;
      wEP_ = other.wEP_;
      fEP_ = other.fEP_;
      sEP_ = other.sEP_;
      aEP_ = other.aEP_;
      lEP_ = other.lEP_;
      dEP_ = other.dEP_;
      wEE_ = other.wEE_;
      fEE_ = other.fEE_;
      sEE_ = other.sEE_;
      aEE_ = other.aEE_;
      lEE_ = other.lEE_;
      dEE_ = other.dEE_;
      wER_ = other.wER_;
      fER_ = other.fER_;
      sER_ = other.sER_;
      aER_ = other.aER_;
      lER_ = other.lER_;
      dER_ = other.dER_;
      buffIds_ = other.buffIds_.Clone();
      weight_ = other.weight_;
      trapTagIds_ = other.trapTagIds_.Clone();
      faction_ = other.faction_;
      supCharge_ = other.supCharge_;
      isShowRng_ = other.isShowRng_;
      trapAttrId_ = other.trapAttrId_;
      tag1_ = other.tag1_;
      tag2_ = other.tag2_;
      tag3_ = other.tag3_;
      tag4_ = other.tag4_;
      tag5_ = other.tag5_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RandomLevelMonster Clone() {
      return new RandomLevelMonster(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EpicLv" field.</summary>
    public const int EpicLvFieldNumber = 3;
    private int epicLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EpicLv {
      get { return epicLv_; }
      set {
        epicLv_ = value;
      }
    }

    /// <summary>Field number for the "BloodType" field.</summary>
    public const int BloodTypeFieldNumber = 4;
    private int bloodType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BloodType {
      get { return bloodType_; }
      set {
        bloodType_ = value;
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 5;
    private int eET_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EET {
      get { return eET_; }
      set {
        eET_ = value;
      }
    }

    /// <summary>Field number for the "FCId" field.</summary>
    public const int FCIdFieldNumber = 6;
    private int fCId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FCId {
      get { return fCId_; }
      set {
        fCId_ = value;
      }
    }

    /// <summary>Field number for the "FAId" field.</summary>
    public const int FAIdFieldNumber = 7;
    private int fAId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FAId {
      get { return fAId_; }
      set {
        fAId_ = value;
      }
    }

    /// <summary>Field number for the "MovType" field.</summary>
    public const int MovTypeFieldNumber = 8;
    private int movType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MovType {
      get { return movType_; }
      set {
        movType_ = value;
      }
    }

    /// <summary>Field number for the "RunSpd" field.</summary>
    public const int RunSpdFieldNumber = 9;
    private int runSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RunSpd {
      get { return runSpd_; }
      set {
        runSpd_ = value;
      }
    }

    /// <summary>Field number for the "TransSpdScale" field.</summary>
    public const int TransSpdScaleFieldNumber = 10;
    private int transSpdScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TransSpdScale {
      get { return transSpdScale_; }
      set {
        transSpdScale_ = value;
      }
    }

    /// <summary>Field number for the "WalkSpd" field.</summary>
    public const int WalkSpdFieldNumber = 11;
    private int walkSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WalkSpd {
      get { return walkSpd_; }
      set {
        walkSpd_ = value;
      }
    }

    /// <summary>Field number for the "MovAcc" field.</summary>
    public const int MovAccFieldNumber = 12;
    private int movAcc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MovAcc {
      get { return movAcc_; }
      set {
        movAcc_ = value;
      }
    }

    /// <summary>Field number for the "VisionRng" field.</summary>
    public const int VisionRngFieldNumber = 13;
    private int visionRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int VisionRng {
      get { return visionRng_; }
      set {
        visionRng_ = value;
      }
    }

    /// <summary>Field number for the "VisionDeg" field.</summary>
    public const int VisionDegFieldNumber = 14;
    private int visionDeg_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int VisionDeg {
      get { return visionDeg_; }
      set {
        visionDeg_ = value;
      }
    }

    /// <summary>Field number for the "HearRng" field.</summary>
    public const int HearRngFieldNumber = 15;
    private int hearRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HearRng {
      get { return hearRng_; }
      set {
        hearRng_ = value;
      }
    }

    /// <summary>Field number for the "RefRng" field.</summary>
    public const int RefRngFieldNumber = 16;
    private int refRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefRng {
      get { return refRng_; }
      set {
        refRng_ = value;
      }
    }

    /// <summary>Field number for the "ActRng" field.</summary>
    public const int ActRngFieldNumber = 17;
    private int actRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ActRng {
      get { return actRng_; }
      set {
        actRng_ = value;
      }
    }

    /// <summary>Field number for the "DisActRng" field.</summary>
    public const int DisActRngFieldNumber = 18;
    private int disActRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DisActRng {
      get { return disActRng_; }
      set {
        disActRng_ = value;
      }
    }

    /// <summary>Field number for the "RotSpd" field.</summary>
    public const int RotSpdFieldNumber = 19;
    private int rotSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RotSpd {
      get { return rotSpd_; }
      set {
        rotSpd_ = value;
      }
    }

    /// <summary>Field number for the "Templete" field.</summary>
    public const int TempleteFieldNumber = 20;
    private int templete_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Templete {
      get { return templete_; }
      set {
        templete_ = value;
      }
    }

    /// <summary>Field number for the "WEP" field.</summary>
    public const int WEPFieldNumber = 21;
    private int wEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WEP {
      get { return wEP_; }
      set {
        wEP_ = value;
      }
    }

    /// <summary>Field number for the "FEP" field.</summary>
    public const int FEPFieldNumber = 22;
    private int fEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FEP {
      get { return fEP_; }
      set {
        fEP_ = value;
      }
    }

    /// <summary>Field number for the "SEP" field.</summary>
    public const int SEPFieldNumber = 23;
    private int sEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SEP {
      get { return sEP_; }
      set {
        sEP_ = value;
      }
    }

    /// <summary>Field number for the "AEP" field.</summary>
    public const int AEPFieldNumber = 24;
    private int aEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AEP {
      get { return aEP_; }
      set {
        aEP_ = value;
      }
    }

    /// <summary>Field number for the "LEP" field.</summary>
    public const int LEPFieldNumber = 25;
    private int lEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LEP {
      get { return lEP_; }
      set {
        lEP_ = value;
      }
    }

    /// <summary>Field number for the "DEP" field.</summary>
    public const int DEPFieldNumber = 26;
    private int dEP_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DEP {
      get { return dEP_; }
      set {
        dEP_ = value;
      }
    }

    /// <summary>Field number for the "WEE" field.</summary>
    public const int WEEFieldNumber = 27;
    private int wEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WEE {
      get { return wEE_; }
      set {
        wEE_ = value;
      }
    }

    /// <summary>Field number for the "FEE" field.</summary>
    public const int FEEFieldNumber = 28;
    private int fEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FEE {
      get { return fEE_; }
      set {
        fEE_ = value;
      }
    }

    /// <summary>Field number for the "SEE" field.</summary>
    public const int SEEFieldNumber = 29;
    private int sEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SEE {
      get { return sEE_; }
      set {
        sEE_ = value;
      }
    }

    /// <summary>Field number for the "AEE" field.</summary>
    public const int AEEFieldNumber = 30;
    private int aEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AEE {
      get { return aEE_; }
      set {
        aEE_ = value;
      }
    }

    /// <summary>Field number for the "LEE" field.</summary>
    public const int LEEFieldNumber = 31;
    private int lEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LEE {
      get { return lEE_; }
      set {
        lEE_ = value;
      }
    }

    /// <summary>Field number for the "DEE" field.</summary>
    public const int DEEFieldNumber = 32;
    private int dEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DEE {
      get { return dEE_; }
      set {
        dEE_ = value;
      }
    }

    /// <summary>Field number for the "WER" field.</summary>
    public const int WERFieldNumber = 33;
    private int wER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WER {
      get { return wER_; }
      set {
        wER_ = value;
      }
    }

    /// <summary>Field number for the "FER" field.</summary>
    public const int FERFieldNumber = 34;
    private int fER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FER {
      get { return fER_; }
      set {
        fER_ = value;
      }
    }

    /// <summary>Field number for the "SER" field.</summary>
    public const int SERFieldNumber = 35;
    private int sER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SER {
      get { return sER_; }
      set {
        sER_ = value;
      }
    }

    /// <summary>Field number for the "AER" field.</summary>
    public const int AERFieldNumber = 36;
    private int aER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AER {
      get { return aER_; }
      set {
        aER_ = value;
      }
    }

    /// <summary>Field number for the "LER" field.</summary>
    public const int LERFieldNumber = 37;
    private int lER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LER {
      get { return lER_; }
      set {
        lER_ = value;
      }
    }

    /// <summary>Field number for the "DER" field.</summary>
    public const int DERFieldNumber = 38;
    private int dER_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DER {
      get { return dER_; }
      set {
        dER_ = value;
      }
    }

    /// <summary>Field number for the "BuffIds" field.</summary>
    public const int BuffIdsFieldNumber = 39;
    private static readonly pb::FieldCodec<int> _repeated_buffIds_codec
        = pb::FieldCodec.ForInt32(314);
    private readonly pbc::RepeatedField<int> buffIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BuffIds {
      get { return buffIds_; }
    }

    /// <summary>Field number for the "weight" field.</summary>
    public const int WeightFieldNumber = 40;
    private int weight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Weight {
      get { return weight_; }
      set {
        weight_ = value;
      }
    }

    /// <summary>Field number for the "TrapTagIds" field.</summary>
    public const int TrapTagIdsFieldNumber = 41;
    private static readonly pb::FieldCodec<int> _repeated_trapTagIds_codec
        = pb::FieldCodec.ForInt32(330);
    private readonly pbc::RepeatedField<int> trapTagIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TrapTagIds {
      get { return trapTagIds_; }
    }

    /// <summary>Field number for the "Faction" field.</summary>
    public const int FactionFieldNumber = 42;
    private int faction_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Faction {
      get { return faction_; }
      set {
        faction_ = value;
      }
    }

    /// <summary>Field number for the "SupCharge" field.</summary>
    public const int SupChargeFieldNumber = 43;
    private int supCharge_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SupCharge {
      get { return supCharge_; }
      set {
        supCharge_ = value;
      }
    }

    /// <summary>Field number for the "IsShowRng" field.</summary>
    public const int IsShowRngFieldNumber = 44;
    private bool isShowRng_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsShowRng {
      get { return isShowRng_; }
      set {
        isShowRng_ = value;
      }
    }

    /// <summary>Field number for the "TrapAttrId" field.</summary>
    public const int TrapAttrIdFieldNumber = 45;
    private int trapAttrId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TrapAttrId {
      get { return trapAttrId_; }
      set {
        trapAttrId_ = value;
      }
    }

    /// <summary>Field number for the "Tag1" field.</summary>
    public const int Tag1FieldNumber = 46;
    private string tag1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag1 {
      get { return tag1_; }
      set {
        tag1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag2" field.</summary>
    public const int Tag2FieldNumber = 47;
    private string tag2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag2 {
      get { return tag2_; }
      set {
        tag2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag3" field.</summary>
    public const int Tag3FieldNumber = 48;
    private string tag3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag3 {
      get { return tag3_; }
      set {
        tag3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag4" field.</summary>
    public const int Tag4FieldNumber = 49;
    private string tag4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag4 {
      get { return tag4_; }
      set {
        tag4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag5" field.</summary>
    public const int Tag5FieldNumber = 50;
    private string tag5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag5 {
      get { return tag5_; }
      set {
        tag5_ = 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 RandomLevelMonster);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RandomLevelMonster other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (EpicLv != other.EpicLv) return false;
      if (BloodType != other.BloodType) return false;
      if (EET != other.EET) return false;
      if (FCId != other.FCId) return false;
      if (FAId != other.FAId) return false;
      if (MovType != other.MovType) return false;
      if (RunSpd != other.RunSpd) return false;
      if (TransSpdScale != other.TransSpdScale) return false;
      if (WalkSpd != other.WalkSpd) return false;
      if (MovAcc != other.MovAcc) return false;
      if (VisionRng != other.VisionRng) return false;
      if (VisionDeg != other.VisionDeg) return false;
      if (HearRng != other.HearRng) return false;
      if (RefRng != other.RefRng) return false;
      if (ActRng != other.ActRng) return false;
      if (DisActRng != other.DisActRng) return false;
      if (RotSpd != other.RotSpd) return false;
      if (Templete != other.Templete) return false;
      if (WEP != other.WEP) return false;
      if (FEP != other.FEP) return false;
      if (SEP != other.SEP) return false;
      if (AEP != other.AEP) return false;
      if (LEP != other.LEP) return false;
      if (DEP != other.DEP) return false;
      if (WEE != other.WEE) return false;
      if (FEE != other.FEE) return false;
      if (SEE != other.SEE) return false;
      if (AEE != other.AEE) return false;
      if (LEE != other.LEE) return false;
      if (DEE != other.DEE) return false;
      if (WER != other.WER) return false;
      if (FER != other.FER) return false;
      if (SER != other.SER) return false;
      if (AER != other.AER) return false;
      if (LER != other.LER) return false;
      if (DER != other.DER) return false;
      if(!buffIds_.Equals(other.buffIds_)) return false;
      if (Weight != other.Weight) return false;
      if(!trapTagIds_.Equals(other.trapTagIds_)) return false;
      if (Faction != other.Faction) return false;
      if (SupCharge != other.SupCharge) return false;
      if (IsShowRng != other.IsShowRng) return false;
      if (TrapAttrId != other.TrapAttrId) return false;
      if (Tag1 != other.Tag1) return false;
      if (Tag2 != other.Tag2) return false;
      if (Tag3 != other.Tag3) return false;
      if (Tag4 != other.Tag4) return false;
      if (Tag5 != other.Tag5) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (EpicLv != 0) hash ^= EpicLv.GetHashCode();
      if (BloodType != 0) hash ^= BloodType.GetHashCode();
      if (EET != 0) hash ^= EET.GetHashCode();
      if (FCId != 0) hash ^= FCId.GetHashCode();
      if (FAId != 0) hash ^= FAId.GetHashCode();
      if (MovType != 0) hash ^= MovType.GetHashCode();
      if (RunSpd != 0) hash ^= RunSpd.GetHashCode();
      if (TransSpdScale != 0) hash ^= TransSpdScale.GetHashCode();
      if (WalkSpd != 0) hash ^= WalkSpd.GetHashCode();
      if (MovAcc != 0) hash ^= MovAcc.GetHashCode();
      if (VisionRng != 0) hash ^= VisionRng.GetHashCode();
      if (VisionDeg != 0) hash ^= VisionDeg.GetHashCode();
      if (HearRng != 0) hash ^= HearRng.GetHashCode();
      if (RefRng != 0) hash ^= RefRng.GetHashCode();
      if (ActRng != 0) hash ^= ActRng.GetHashCode();
      if (DisActRng != 0) hash ^= DisActRng.GetHashCode();
      if (RotSpd != 0) hash ^= RotSpd.GetHashCode();
      if (Templete != 0) hash ^= Templete.GetHashCode();
      if (WEP != 0) hash ^= WEP.GetHashCode();
      if (FEP != 0) hash ^= FEP.GetHashCode();
      if (SEP != 0) hash ^= SEP.GetHashCode();
      if (AEP != 0) hash ^= AEP.GetHashCode();
      if (LEP != 0) hash ^= LEP.GetHashCode();
      if (DEP != 0) hash ^= DEP.GetHashCode();
      if (WEE != 0) hash ^= WEE.GetHashCode();
      if (FEE != 0) hash ^= FEE.GetHashCode();
      if (SEE != 0) hash ^= SEE.GetHashCode();
      if (AEE != 0) hash ^= AEE.GetHashCode();
      if (LEE != 0) hash ^= LEE.GetHashCode();
      if (DEE != 0) hash ^= DEE.GetHashCode();
      if (WER != 0) hash ^= WER.GetHashCode();
      if (FER != 0) hash ^= FER.GetHashCode();
      if (SER != 0) hash ^= SER.GetHashCode();
      if (AER != 0) hash ^= AER.GetHashCode();
      if (LER != 0) hash ^= LER.GetHashCode();
      if (DER != 0) hash ^= DER.GetHashCode();
      hash ^= buffIds_.GetHashCode();
      if (Weight != 0) hash ^= Weight.GetHashCode();
      hash ^= trapTagIds_.GetHashCode();
      if (Faction != 0) hash ^= Faction.GetHashCode();
      if (SupCharge != 0) hash ^= SupCharge.GetHashCode();
      if (IsShowRng != false) hash ^= IsShowRng.GetHashCode();
      if (TrapAttrId != 0) hash ^= TrapAttrId.GetHashCode();
      if (Tag1.Length != 0) hash ^= Tag1.GetHashCode();
      if (Tag2.Length != 0) hash ^= Tag2.GetHashCode();
      if (Tag3.Length != 0) hash ^= Tag3.GetHashCode();
      if (Tag4.Length != 0) hash ^= Tag4.GetHashCode();
      if (Tag5.Length != 0) hash ^= Tag5.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (EpicLv != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(EpicLv);
      }
      if (BloodType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BloodType);
      }
      if (EET != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EET);
      }
      if (FCId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FCId);
      }
      if (FAId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FAId);
      }
      if (MovType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MovType);
      }
      if (RunSpd != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RunSpd);
      }
      if (TransSpdScale != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(TransSpdScale);
      }
      if (WalkSpd != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(WalkSpd);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MovAcc);
      }
      if (VisionRng != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(VisionRng);
      }
      if (VisionDeg != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(VisionDeg);
      }
      if (HearRng != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(HearRng);
      }
      if (RefRng != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(RefRng);
      }
      if (ActRng != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ActRng);
      }
      if (DisActRng != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(DisActRng);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(RotSpd);
      }
      if (Templete != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Templete);
      }
      if (WEP != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(WEP);
      }
      if (FEP != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(FEP);
      }
      if (SEP != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(SEP);
      }
      if (AEP != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(AEP);
      }
      if (LEP != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(LEP);
      }
      if (DEP != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(DEP);
      }
      if (WEE != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(WEE);
      }
      if (FEE != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(FEE);
      }
      if (SEE != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(SEE);
      }
      if (AEE != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(AEE);
      }
      if (LEE != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(LEE);
      }
      if (DEE != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(DEE);
      }
      if (WER != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(WER);
      }
      if (FER != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(FER);
      }
      if (SER != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(SER);
      }
      if (AER != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(AER);
      }
      if (LER != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(LER);
      }
      if (DER != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(DER);
      }
      buffIds_.WriteTo(output, _repeated_buffIds_codec);
      if (Weight != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(Weight);
      }
      trapTagIds_.WriteTo(output, _repeated_trapTagIds_codec);
      if (Faction != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(Faction);
      }
      if (SupCharge != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(SupCharge);
      }
      if (IsShowRng != false) {
        output.WriteRawTag(224, 2);
        output.WriteBool(IsShowRng);
      }
      if (TrapAttrId != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(TrapAttrId);
      }
      if (Tag1.Length != 0) {
        output.WriteRawTag(242, 2);
        output.WriteString(Tag1);
      }
      if (Tag2.Length != 0) {
        output.WriteRawTag(250, 2);
        output.WriteString(Tag2);
      }
      if (Tag3.Length != 0) {
        output.WriteRawTag(130, 3);
        output.WriteString(Tag3);
      }
      if (Tag4.Length != 0) {
        output.WriteRawTag(138, 3);
        output.WriteString(Tag4);
      }
      if (Tag5.Length != 0) {
        output.WriteRawTag(146, 3);
        output.WriteString(Tag5);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (EpicLv != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(EpicLv);
      }
      if (BloodType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(BloodType);
      }
      if (EET != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EET);
      }
      if (FCId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FCId);
      }
      if (FAId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FAId);
      }
      if (MovType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MovType);
      }
      if (RunSpd != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RunSpd);
      }
      if (TransSpdScale != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(TransSpdScale);
      }
      if (WalkSpd != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(WalkSpd);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(MovAcc);
      }
      if (VisionRng != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(VisionRng);
      }
      if (VisionDeg != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(VisionDeg);
      }
      if (HearRng != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(HearRng);
      }
      if (RefRng != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(RefRng);
      }
      if (ActRng != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ActRng);
      }
      if (DisActRng != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(DisActRng);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(RotSpd);
      }
      if (Templete != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Templete);
      }
      if (WEP != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(WEP);
      }
      if (FEP != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(FEP);
      }
      if (SEP != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(SEP);
      }
      if (AEP != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(AEP);
      }
      if (LEP != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(LEP);
      }
      if (DEP != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(DEP);
      }
      if (WEE != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(WEE);
      }
      if (FEE != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(FEE);
      }
      if (SEE != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(SEE);
      }
      if (AEE != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(AEE);
      }
      if (LEE != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(LEE);
      }
      if (DEE != 0) {
        output.WriteRawTag(128, 2);
        output.WriteInt32(DEE);
      }
      if (WER != 0) {
        output.WriteRawTag(136, 2);
        output.WriteInt32(WER);
      }
      if (FER != 0) {
        output.WriteRawTag(144, 2);
        output.WriteInt32(FER);
      }
      if (SER != 0) {
        output.WriteRawTag(152, 2);
        output.WriteInt32(SER);
      }
      if (AER != 0) {
        output.WriteRawTag(160, 2);
        output.WriteInt32(AER);
      }
      if (LER != 0) {
        output.WriteRawTag(168, 2);
        output.WriteInt32(LER);
      }
      if (DER != 0) {
        output.WriteRawTag(176, 2);
        output.WriteInt32(DER);
      }
      buffIds_.WriteTo(ref output, _repeated_buffIds_codec);
      if (Weight != 0) {
        output.WriteRawTag(192, 2);
        output.WriteInt32(Weight);
      }
      trapTagIds_.WriteTo(ref output, _repeated_trapTagIds_codec);
      if (Faction != 0) {
        output.WriteRawTag(208, 2);
        output.WriteInt32(Faction);
      }
      if (SupCharge != 0) {
        output.WriteRawTag(216, 2);
        output.WriteInt32(SupCharge);
      }
      if (IsShowRng != false) {
        output.WriteRawTag(224, 2);
        output.WriteBool(IsShowRng);
      }
      if (TrapAttrId != 0) {
        output.WriteRawTag(232, 2);
        output.WriteInt32(TrapAttrId);
      }
      if (Tag1.Length != 0) {
        output.WriteRawTag(242, 2);
        output.WriteString(Tag1);
      }
      if (Tag2.Length != 0) {
        output.WriteRawTag(250, 2);
        output.WriteString(Tag2);
      }
      if (Tag3.Length != 0) {
        output.WriteRawTag(130, 3);
        output.WriteString(Tag3);
      }
      if (Tag4.Length != 0) {
        output.WriteRawTag(138, 3);
        output.WriteString(Tag4);
      }
      if (Tag5.Length != 0) {
        output.WriteRawTag(146, 3);
        output.WriteString(Tag5);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (EpicLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EpicLv);
      }
      if (BloodType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BloodType);
      }
      if (EET != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EET);
      }
      if (FCId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FCId);
      }
      if (FAId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FAId);
      }
      if (MovType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MovType);
      }
      if (RunSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RunSpd);
      }
      if (TransSpdScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TransSpdScale);
      }
      if (WalkSpd != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WalkSpd);
      }
      if (MovAcc != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MovAcc);
      }
      if (VisionRng != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(VisionRng);
      }
      if (VisionDeg != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(VisionDeg);
      }
      if (HearRng != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(HearRng);
      }
      if (RefRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RefRng);
      }
      if (ActRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ActRng);
      }
      if (DisActRng != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DisActRng);
      }
      if (RotSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RotSpd);
      }
      if (Templete != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Templete);
      }
      if (WEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEP);
      }
      if (FEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEP);
      }
      if (SEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEP);
      }
      if (AEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEP);
      }
      if (LEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEP);
      }
      if (DEP != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEP);
      }
      if (WEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WEE);
      }
      if (FEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FEE);
      }
      if (SEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SEE);
      }
      if (AEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AEE);
      }
      if (LEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LEE);
      }
      if (DEE != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DEE);
      }
      if (WER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(WER);
      }
      if (FER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FER);
      }
      if (SER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SER);
      }
      if (AER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(AER);
      }
      if (LER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(LER);
      }
      if (DER != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DER);
      }
      size += buffIds_.CalculateSize(_repeated_buffIds_codec);
      if (Weight != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      size += trapTagIds_.CalculateSize(_repeated_trapTagIds_codec);
      if (Faction != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Faction);
      }
      if (SupCharge != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SupCharge);
      }
      if (IsShowRng != false) {
        size += 2 + 1;
      }
      if (TrapAttrId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TrapAttrId);
      }
      if (Tag1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag1);
      }
      if (Tag2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag2);
      }
      if (Tag3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag3);
      }
      if (Tag4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag4);
      }
      if (Tag5.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Tag5);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RandomLevelMonster other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.EpicLv != 0) {
        EpicLv = other.EpicLv;
      }
      if (other.BloodType != 0) {
        BloodType = other.BloodType;
      }
      if (other.EET != 0) {
        EET = other.EET;
      }
      if (other.FCId != 0) {
        FCId = other.FCId;
      }
      if (other.FAId != 0) {
        FAId = other.FAId;
      }
      if (other.MovType != 0) {
        MovType = other.MovType;
      }
      if (other.RunSpd != 0) {
        RunSpd = other.RunSpd;
      }
      if (other.TransSpdScale != 0) {
        TransSpdScale = other.TransSpdScale;
      }
      if (other.WalkSpd != 0) {
        WalkSpd = other.WalkSpd;
      }
      if (other.MovAcc != 0) {
        MovAcc = other.MovAcc;
      }
      if (other.VisionRng != 0) {
        VisionRng = other.VisionRng;
      }
      if (other.VisionDeg != 0) {
        VisionDeg = other.VisionDeg;
      }
      if (other.HearRng != 0) {
        HearRng = other.HearRng;
      }
      if (other.RefRng != 0) {
        RefRng = other.RefRng;
      }
      if (other.ActRng != 0) {
        ActRng = other.ActRng;
      }
      if (other.DisActRng != 0) {
        DisActRng = other.DisActRng;
      }
      if (other.RotSpd != 0) {
        RotSpd = other.RotSpd;
      }
      if (other.Templete != 0) {
        Templete = other.Templete;
      }
      if (other.WEP != 0) {
        WEP = other.WEP;
      }
      if (other.FEP != 0) {
        FEP = other.FEP;
      }
      if (other.SEP != 0) {
        SEP = other.SEP;
      }
      if (other.AEP != 0) {
        AEP = other.AEP;
      }
      if (other.LEP != 0) {
        LEP = other.LEP;
      }
      if (other.DEP != 0) {
        DEP = other.DEP;
      }
      if (other.WEE != 0) {
        WEE = other.WEE;
      }
      if (other.FEE != 0) {
        FEE = other.FEE;
      }
      if (other.SEE != 0) {
        SEE = other.SEE;
      }
      if (other.AEE != 0) {
        AEE = other.AEE;
      }
      if (other.LEE != 0) {
        LEE = other.LEE;
      }
      if (other.DEE != 0) {
        DEE = other.DEE;
      }
      if (other.WER != 0) {
        WER = other.WER;
      }
      if (other.FER != 0) {
        FER = other.FER;
      }
      if (other.SER != 0) {
        SER = other.SER;
      }
      if (other.AER != 0) {
        AER = other.AER;
      }
      if (other.LER != 0) {
        LER = other.LER;
      }
      if (other.DER != 0) {
        DER = other.DER;
      }
      buffIds_.Add(other.buffIds_);
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      trapTagIds_.Add(other.trapTagIds_);
      if (other.Faction != 0) {
        Faction = other.Faction;
      }
      if (other.SupCharge != 0) {
        SupCharge = other.SupCharge;
      }
      if (other.IsShowRng != false) {
        IsShowRng = other.IsShowRng;
      }
      if (other.TrapAttrId != 0) {
        TrapAttrId = other.TrapAttrId;
      }
      if (other.Tag1.Length != 0) {
        Tag1 = other.Tag1;
      }
      if (other.Tag2.Length != 0) {
        Tag2 = other.Tag2;
      }
      if (other.Tag3.Length != 0) {
        Tag3 = other.Tag3;
      }
      if (other.Tag4.Length != 0) {
        Tag4 = other.Tag4;
      }
      if (other.Tag5.Length != 0) {
        Tag5 = other.Tag5;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            EpicLv = input.ReadInt32();
            break;
          }
          case 32: {
            BloodType = input.ReadInt32();
            break;
          }
          case 40: {
            EET = input.ReadInt32();
            break;
          }
          case 48: {
            FCId = input.ReadInt32();
            break;
          }
          case 56: {
            FAId = input.ReadInt32();
            break;
          }
          case 64: {
            MovType = input.ReadInt32();
            break;
          }
          case 72: {
            RunSpd = input.ReadInt32();
            break;
          }
          case 80: {
            TransSpdScale = input.ReadInt32();
            break;
          }
          case 88: {
            WalkSpd = input.ReadInt32();
            break;
          }
          case 96: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 104: {
            VisionRng = input.ReadInt32();
            break;
          }
          case 112: {
            VisionDeg = input.ReadInt32();
            break;
          }
          case 120: {
            HearRng = input.ReadInt32();
            break;
          }
          case 128: {
            RefRng = input.ReadInt32();
            break;
          }
          case 136: {
            ActRng = input.ReadInt32();
            break;
          }
          case 144: {
            DisActRng = input.ReadInt32();
            break;
          }
          case 152: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 160: {
            Templete = input.ReadInt32();
            break;
          }
          case 168: {
            WEP = input.ReadInt32();
            break;
          }
          case 176: {
            FEP = input.ReadInt32();
            break;
          }
          case 184: {
            SEP = input.ReadInt32();
            break;
          }
          case 192: {
            AEP = input.ReadInt32();
            break;
          }
          case 200: {
            LEP = input.ReadInt32();
            break;
          }
          case 208: {
            DEP = input.ReadInt32();
            break;
          }
          case 216: {
            WEE = input.ReadInt32();
            break;
          }
          case 224: {
            FEE = input.ReadInt32();
            break;
          }
          case 232: {
            SEE = input.ReadInt32();
            break;
          }
          case 240: {
            AEE = input.ReadInt32();
            break;
          }
          case 248: {
            LEE = input.ReadInt32();
            break;
          }
          case 256: {
            DEE = input.ReadInt32();
            break;
          }
          case 264: {
            WER = input.ReadInt32();
            break;
          }
          case 272: {
            FER = input.ReadInt32();
            break;
          }
          case 280: {
            SER = input.ReadInt32();
            break;
          }
          case 288: {
            AER = input.ReadInt32();
            break;
          }
          case 296: {
            LER = input.ReadInt32();
            break;
          }
          case 304: {
            DER = input.ReadInt32();
            break;
          }
          case 314:
          case 312: {
            buffIds_.AddEntriesFrom(input, _repeated_buffIds_codec);
            break;
          }
          case 320: {
            Weight = input.ReadInt32();
            break;
          }
          case 330:
          case 328: {
            trapTagIds_.AddEntriesFrom(input, _repeated_trapTagIds_codec);
            break;
          }
          case 336: {
            Faction = input.ReadInt32();
            break;
          }
          case 344: {
            SupCharge = input.ReadInt32();
            break;
          }
          case 352: {
            IsShowRng = input.ReadBool();
            break;
          }
          case 360: {
            TrapAttrId = input.ReadInt32();
            break;
          }
          case 370: {
            Tag1 = input.ReadString();
            break;
          }
          case 378: {
            Tag2 = input.ReadString();
            break;
          }
          case 386: {
            Tag3 = input.ReadString();
            break;
          }
          case 394: {
            Tag4 = input.ReadString();
            break;
          }
          case 402: {
            Tag5 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            EpicLv = input.ReadInt32();
            break;
          }
          case 32: {
            BloodType = input.ReadInt32();
            break;
          }
          case 40: {
            EET = input.ReadInt32();
            break;
          }
          case 48: {
            FCId = input.ReadInt32();
            break;
          }
          case 56: {
            FAId = input.ReadInt32();
            break;
          }
          case 64: {
            MovType = input.ReadInt32();
            break;
          }
          case 72: {
            RunSpd = input.ReadInt32();
            break;
          }
          case 80: {
            TransSpdScale = input.ReadInt32();
            break;
          }
          case 88: {
            WalkSpd = input.ReadInt32();
            break;
          }
          case 96: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 104: {
            VisionRng = input.ReadInt32();
            break;
          }
          case 112: {
            VisionDeg = input.ReadInt32();
            break;
          }
          case 120: {
            HearRng = input.ReadInt32();
            break;
          }
          case 128: {
            RefRng = input.ReadInt32();
            break;
          }
          case 136: {
            ActRng = input.ReadInt32();
            break;
          }
          case 144: {
            DisActRng = input.ReadInt32();
            break;
          }
          case 152: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 160: {
            Templete = input.ReadInt32();
            break;
          }
          case 168: {
            WEP = input.ReadInt32();
            break;
          }
          case 176: {
            FEP = input.ReadInt32();
            break;
          }
          case 184: {
            SEP = input.ReadInt32();
            break;
          }
          case 192: {
            AEP = input.ReadInt32();
            break;
          }
          case 200: {
            LEP = input.ReadInt32();
            break;
          }
          case 208: {
            DEP = input.ReadInt32();
            break;
          }
          case 216: {
            WEE = input.ReadInt32();
            break;
          }
          case 224: {
            FEE = input.ReadInt32();
            break;
          }
          case 232: {
            SEE = input.ReadInt32();
            break;
          }
          case 240: {
            AEE = input.ReadInt32();
            break;
          }
          case 248: {
            LEE = input.ReadInt32();
            break;
          }
          case 256: {
            DEE = input.ReadInt32();
            break;
          }
          case 264: {
            WER = input.ReadInt32();
            break;
          }
          case 272: {
            FER = input.ReadInt32();
            break;
          }
          case 280: {
            SER = input.ReadInt32();
            break;
          }
          case 288: {
            AER = input.ReadInt32();
            break;
          }
          case 296: {
            LER = input.ReadInt32();
            break;
          }
          case 304: {
            DER = input.ReadInt32();
            break;
          }
          case 314:
          case 312: {
            buffIds_.AddEntriesFrom(ref input, _repeated_buffIds_codec);
            break;
          }
          case 320: {
            Weight = input.ReadInt32();
            break;
          }
          case 330:
          case 328: {
            trapTagIds_.AddEntriesFrom(ref input, _repeated_trapTagIds_codec);
            break;
          }
          case 336: {
            Faction = input.ReadInt32();
            break;
          }
          case 344: {
            SupCharge = input.ReadInt32();
            break;
          }
          case 352: {
            IsShowRng = input.ReadBool();
            break;
          }
          case 360: {
            TrapAttrId = input.ReadInt32();
            break;
          }
          case 370: {
            Tag1 = input.ReadString();
            break;
          }
          case 378: {
            Tag2 = input.ReadString();
            break;
          }
          case 386: {
            Tag3 = input.ReadString();
            break;
          }
          case 394: {
            Tag4 = input.ReadString();
            break;
          }
          case 402: {
            Tag5 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_RandomLevelMonster : pb::IMessage<table_RandomLevelMonster>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_RandomLevelMonster> _parser = new pb::MessageParser<table_RandomLevelMonster>(() => new table_RandomLevelMonster());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_RandomLevelMonster> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[331]; }
    }

    [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 table_RandomLevelMonster() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RandomLevelMonster(table_RandomLevelMonster other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RandomLevelMonster Clone() {
      return new table_RandomLevelMonster(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.RandomLevelMonster> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.RandomLevelMonster.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.RandomLevelMonster> list_ = new pbc::RepeatedField<global::Nova.Client.RandomLevelMonster>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.RandomLevelMonster> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_RandomLevelMonster);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_RandomLevelMonster other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_RandomLevelMonster other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Rank : pb::IMessage<Rank>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Rank> _parser = new pb::MessageParser<Rank>(() => new Rank());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Rank> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[332]; }
    }

    [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 Rank() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Rank(Rank other) : this() {
      rank_ = other.rank_;
      exp_ = other.exp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Rank Clone() {
      return new Rank(this);
    }

    /// <summary>Field number for the "Rank" field.</summary>
    public const int Rank_FieldNumber = 1;
    private int rank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rank_ {
      get { return rank_; }
      set {
        rank_ = value;
      }
    }

    /// <summary>Field number for the "Exp" field.</summary>
    public const int ExpFieldNumber = 2;
    private int exp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Exp {
      get { return exp_; }
      set {
        exp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Rank);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Rank other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Rank_ != other.Rank_) return false;
      if (Exp != other.Exp) 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 (Rank_ != 0) hash ^= Rank_.GetHashCode();
      if (Exp != 0) hash ^= Exp.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 (Rank_ != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Rank_);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      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 (Rank_ != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Rank_);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      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 (Rank_ != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rank_);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Rank other) {
      if (other == null) {
        return;
      }
      if (other.Rank_ != 0) {
        Rank_ = other.Rank_;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      _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: {
            Rank_ = input.ReadInt32();
            break;
          }
          case 16: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Rank_ = input.ReadInt32();
            break;
          }
          case 16: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Rank : pb::IMessage<table_Rank>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Rank> _parser = new pb::MessageParser<table_Rank>(() => new table_Rank());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Rank> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[333]; }
    }

    [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 table_Rank() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Rank(table_Rank other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Rank Clone() {
      return new table_Rank(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Rank> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Rank.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Rank> list_ = new pbc::RepeatedField<global::Nova.Client.Rank>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Rank> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Rank);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Rank other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Rank other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class RegionBoss : pb::IMessage<RegionBoss>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RegionBoss> _parser = new pb::MessageParser<RegionBoss>(() => new RegionBoss());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RegionBoss> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[334]; }
    }

    [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 RegionBoss() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBoss(RegionBoss other) : this() {
      id_ = other.id_;
      monsterId_ = other.monsterId_;
      regionType_ = other.regionType_;
      name_ = other.name_;
      icon_ = other.icon_;
      unlockCondition_ = other.unlockCondition_;
      needRoguelike_ = other.needRoguelike_;
      sort_ = other.sort_;
      openDay_ = other.openDay_.Clone();
      openDayDesc_ = other.openDayDesc_;
      eET_ = other.eET_.Clone();
      episode_ = other.episode_;
      image_ = other.image_;
      dropItem_ = other.dropItem_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBoss Clone() {
      return new RegionBoss(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MonsterId" field.</summary>
    public const int MonsterIdFieldNumber = 2;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "RegionType" field.</summary>
    public const int RegionTypeFieldNumber = 3;
    private int regionType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RegionType {
      get { return regionType_; }
      set {
        regionType_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 5;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UnlockCondition" field.</summary>
    public const int UnlockConditionFieldNumber = 6;
    private string unlockCondition_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnlockCondition {
      get { return unlockCondition_; }
      set {
        unlockCondition_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NeedRoguelike" field.</summary>
    public const int NeedRoguelikeFieldNumber = 7;
    private int needRoguelike_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedRoguelike {
      get { return needRoguelike_; }
      set {
        needRoguelike_ = value;
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 8;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "OpenDay" field.</summary>
    public const int OpenDayFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_openDay_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> openDay_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> OpenDay {
      get { return openDay_; }
    }

    /// <summary>Field number for the "OpenDayDesc" field.</summary>
    public const int OpenDayDescFieldNumber = 10;
    private string openDayDesc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OpenDayDesc {
      get { return openDayDesc_; }
      set {
        openDayDesc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_eET_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> eET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EET {
      get { return eET_; }
    }

    /// <summary>Field number for the "Episode" field.</summary>
    public const int EpisodeFieldNumber = 12;
    private string episode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode {
      get { return episode_; }
      set {
        episode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Image" field.</summary>
    public const int ImageFieldNumber = 13;
    private string image_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Image {
      get { return image_; }
      set {
        image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DropItem" field.</summary>
    public const int DropItemFieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_dropItem_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> dropItem_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DropItem {
      get { return dropItem_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RegionBoss);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RegionBoss other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MonsterId != other.MonsterId) return false;
      if (RegionType != other.RegionType) return false;
      if (Name != other.Name) return false;
      if (Icon != other.Icon) return false;
      if (UnlockCondition != other.UnlockCondition) return false;
      if (NeedRoguelike != other.NeedRoguelike) return false;
      if (Sort != other.Sort) return false;
      if(!openDay_.Equals(other.openDay_)) return false;
      if (OpenDayDesc != other.OpenDayDesc) return false;
      if(!eET_.Equals(other.eET_)) return false;
      if (Episode != other.Episode) return false;
      if (Image != other.Image) return false;
      if(!dropItem_.Equals(other.dropItem_)) 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 (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (RegionType != 0) hash ^= RegionType.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (UnlockCondition.Length != 0) hash ^= UnlockCondition.GetHashCode();
      if (NeedRoguelike != 0) hash ^= NeedRoguelike.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      hash ^= openDay_.GetHashCode();
      if (OpenDayDesc.Length != 0) hash ^= OpenDayDesc.GetHashCode();
      hash ^= eET_.GetHashCode();
      if (Episode.Length != 0) hash ^= Episode.GetHashCode();
      if (Image.Length != 0) hash ^= Image.GetHashCode();
      hash ^= dropItem_.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.WriteInt32(Id);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterId);
      }
      if (RegionType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RegionType);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon);
      }
      if (UnlockCondition.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(UnlockCondition);
      }
      if (NeedRoguelike != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(NeedRoguelike);
      }
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      openDay_.WriteTo(output, _repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(OpenDayDesc);
      }
      eET_.WriteTo(output, _repeated_eET_codec);
      if (Episode.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Image);
      }
      dropItem_.WriteTo(output, _repeated_dropItem_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterId);
      }
      if (RegionType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(RegionType);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon);
      }
      if (UnlockCondition.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(UnlockCondition);
      }
      if (NeedRoguelike != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(NeedRoguelike);
      }
      if (Sort != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Sort);
      }
      openDay_.WriteTo(ref output, _repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(OpenDayDesc);
      }
      eET_.WriteTo(ref output, _repeated_eET_codec);
      if (Episode.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Image);
      }
      dropItem_.WriteTo(ref output, _repeated_dropItem_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (RegionType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RegionType);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (UnlockCondition.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UnlockCondition);
      }
      if (NeedRoguelike != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedRoguelike);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      size += openDay_.CalculateSize(_repeated_openDay_codec);
      if (OpenDayDesc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OpenDayDesc);
      }
      size += eET_.CalculateSize(_repeated_eET_codec);
      if (Episode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Episode);
      }
      if (Image.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Image);
      }
      size += dropItem_.CalculateSize(_repeated_dropItem_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RegionBoss other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.RegionType != 0) {
        RegionType = other.RegionType;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.UnlockCondition.Length != 0) {
        UnlockCondition = other.UnlockCondition;
      }
      if (other.NeedRoguelike != 0) {
        NeedRoguelike = other.NeedRoguelike;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      openDay_.Add(other.openDay_);
      if (other.OpenDayDesc.Length != 0) {
        OpenDayDesc = other.OpenDayDesc;
      }
      eET_.Add(other.eET_);
      if (other.Episode.Length != 0) {
        Episode = other.Episode;
      }
      if (other.Image.Length != 0) {
        Image = other.Image;
      }
      dropItem_.Add(other.dropItem_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 24: {
            RegionType = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Icon = input.ReadString();
            break;
          }
          case 50: {
            UnlockCondition = input.ReadString();
            break;
          }
          case 56: {
            NeedRoguelike = input.ReadInt32();
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            openDay_.AddEntriesFrom(input, _repeated_openDay_codec);
            break;
          }
          case 82: {
            OpenDayDesc = input.ReadString();
            break;
          }
          case 90:
          case 88: {
            eET_.AddEntriesFrom(input, _repeated_eET_codec);
            break;
          }
          case 98: {
            Episode = input.ReadString();
            break;
          }
          case 106: {
            Image = input.ReadString();
            break;
          }
          case 114:
          case 112: {
            dropItem_.AddEntriesFrom(input, _repeated_dropItem_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 24: {
            RegionType = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Icon = input.ReadString();
            break;
          }
          case 50: {
            UnlockCondition = input.ReadString();
            break;
          }
          case 56: {
            NeedRoguelike = input.ReadInt32();
            break;
          }
          case 64: {
            Sort = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            openDay_.AddEntriesFrom(ref input, _repeated_openDay_codec);
            break;
          }
          case 82: {
            OpenDayDesc = input.ReadString();
            break;
          }
          case 90:
          case 88: {
            eET_.AddEntriesFrom(ref input, _repeated_eET_codec);
            break;
          }
          case 98: {
            Episode = input.ReadString();
            break;
          }
          case 106: {
            Image = input.ReadString();
            break;
          }
          case 114:
          case 112: {
            dropItem_.AddEntriesFrom(ref input, _repeated_dropItem_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_RegionBoss : pb::IMessage<table_RegionBoss>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_RegionBoss> _parser = new pb::MessageParser<table_RegionBoss>(() => new table_RegionBoss());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_RegionBoss> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[335]; }
    }

    [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 table_RegionBoss() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBoss(table_RegionBoss other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBoss Clone() {
      return new table_RegionBoss(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.RegionBoss> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.RegionBoss.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.RegionBoss> list_ = new pbc::RepeatedField<global::Nova.Client.RegionBoss>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.RegionBoss> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_RegionBoss);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_RegionBoss other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_RegionBoss other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class RegionBossAffix : pb::IMessage<RegionBossAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RegionBossAffix> _parser = new pb::MessageParser<RegionBossAffix>(() => new RegionBossAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RegionBossAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[336]; }
    }

    [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 RegionBossAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBossAffix(RegionBossAffix other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      level_ = other.level_;
      name_ = other.name_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      element_ = other.element_;
      addCamp_ = other.addCamp_.Clone();
      addClass_ = other.addClass_.Clone();
      skillId_ = other.skillId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBossAffix Clone() {
      return new RegionBossAffix(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 3;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 5;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 6;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Element" field.</summary>
    public const int ElementFieldNumber = 7;
    private int element_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Element {
      get { return element_; }
      set {
        element_ = value;
      }
    }

    /// <summary>Field number for the "AddCamp" field.</summary>
    public const int AddCampFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_addCamp_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> addCamp_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddCamp {
      get { return addCamp_; }
    }

    /// <summary>Field number for the "AddClass" field.</summary>
    public const int AddClassFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_addClass_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> addClass_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddClass {
      get { return addClass_; }
    }

    /// <summary>Field number for the "SkillId" field.</summary>
    public const int SkillIdFieldNumber = 10;
    private int skillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillId {
      get { return skillId_; }
      set {
        skillId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RegionBossAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RegionBossAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Level != other.Level) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (Element != other.Element) return false;
      if(!addCamp_.Equals(other.addCamp_)) return false;
      if(!addClass_.Equals(other.addClass_)) return false;
      if (SkillId != other.SkillId) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Element != 0) hash ^= Element.GetHashCode();
      hash ^= addCamp_.GetHashCode();
      hash ^= addClass_.GetHashCode();
      if (SkillId != 0) hash ^= SkillId.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Icon);
      }
      if (Element != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Element);
      }
      addCamp_.WriteTo(output, _repeated_addCamp_codec);
      addClass_.WriteTo(output, _repeated_addClass_codec);
      if (SkillId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SkillId);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Icon);
      }
      if (Element != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Element);
      }
      addCamp_.WriteTo(ref output, _repeated_addCamp_codec);
      addClass_.WriteTo(ref output, _repeated_addClass_codec);
      if (SkillId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SkillId);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Element != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Element);
      }
      size += addCamp_.CalculateSize(_repeated_addCamp_codec);
      size += addClass_.CalculateSize(_repeated_addClass_codec);
      if (SkillId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RegionBossAffix other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Element != 0) {
        Element = other.Element;
      }
      addCamp_.Add(other.addCamp_);
      addClass_.Add(other.addClass_);
      if (other.SkillId != 0) {
        SkillId = other.SkillId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Icon = input.ReadString();
            break;
          }
          case 56: {
            Element = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            addCamp_.AddEntriesFrom(input, _repeated_addCamp_codec);
            break;
          }
          case 74:
          case 72: {
            addClass_.AddEntriesFrom(input, _repeated_addClass_codec);
            break;
          }
          case 80: {
            SkillId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Icon = input.ReadString();
            break;
          }
          case 56: {
            Element = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            addCamp_.AddEntriesFrom(ref input, _repeated_addCamp_codec);
            break;
          }
          case 74:
          case 72: {
            addClass_.AddEntriesFrom(ref input, _repeated_addClass_codec);
            break;
          }
          case 80: {
            SkillId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_RegionBossAffix : pb::IMessage<table_RegionBossAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_RegionBossAffix> _parser = new pb::MessageParser<table_RegionBossAffix>(() => new table_RegionBossAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_RegionBossAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[337]; }
    }

    [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 table_RegionBossAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBossAffix(table_RegionBossAffix other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBossAffix Clone() {
      return new table_RegionBossAffix(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.RegionBossAffix> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.RegionBossAffix.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.RegionBossAffix> list_ = new pbc::RepeatedField<global::Nova.Client.RegionBossAffix>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.RegionBossAffix> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_RegionBossAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_RegionBossAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_RegionBossAffix other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class RegionBossFloor : pb::IMessage<RegionBossFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RegionBossFloor> _parser = new pb::MessageParser<RegionBossFloor>(() => new RegionBossFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RegionBossFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[338]; }
    }

    [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 RegionBossFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBossFloor(RegionBossFloor other) : this() {
      id_ = other.id_;
      sceneName_ = other.sceneName_;
      configPrefabName_ = other.configPrefabName_;
      theme_ = other.theme_;
      bGM_ = other.bGM_;
      leaveTriggerEvent_ = other.leaveTriggerEvent_;
      monsterLv_ = other.monsterLv_;
      dungeonDelay_ = other.dungeonDelay_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBossFloor Clone() {
      return new RegionBossFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 2;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfigPrefabName" field.</summary>
    public const int ConfigPrefabNameFieldNumber = 3;
    private string configPrefabName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigPrefabName {
      get { return configPrefabName_; }
      set {
        configPrefabName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 5;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LeaveTriggerEvent" field.</summary>
    public const int LeaveTriggerEventFieldNumber = 6;
    private string leaveTriggerEvent_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LeaveTriggerEvent {
      get { return leaveTriggerEvent_; }
      set {
        leaveTriggerEvent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MonsterLv" field.</summary>
    public const int MonsterLvFieldNumber = 7;
    private int monsterLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLv {
      get { return monsterLv_; }
      set {
        monsterLv_ = value;
      }
    }

    /// <summary>Field number for the "DungeonDelay" field.</summary>
    public const int DungeonDelayFieldNumber = 8;
    private int dungeonDelay_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DungeonDelay {
      get { return dungeonDelay_; }
      set {
        dungeonDelay_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RegionBossFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RegionBossFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneName != other.SceneName) return false;
      if (ConfigPrefabName != other.ConfigPrefabName) return false;
      if (Theme != other.Theme) return false;
      if (BGM != other.BGM) return false;
      if (LeaveTriggerEvent != other.LeaveTriggerEvent) return false;
      if (MonsterLv != other.MonsterLv) return false;
      if (DungeonDelay != other.DungeonDelay) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (ConfigPrefabName.Length != 0) hash ^= ConfigPrefabName.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.GetHashCode();
      if (LeaveTriggerEvent.Length != 0) hash ^= LeaveTriggerEvent.GetHashCode();
      if (MonsterLv != 0) hash ^= MonsterLv.GetHashCode();
      if (DungeonDelay != 0) hash ^= DungeonDelay.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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      if (DungeonDelay != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(DungeonDelay);
      }
      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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      if (DungeonDelay != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(DungeonDelay);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigPrefabName);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLv);
      }
      if (DungeonDelay != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DungeonDelay);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RegionBossFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.ConfigPrefabName.Length != 0) {
        ConfigPrefabName = other.ConfigPrefabName;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      if (other.LeaveTriggerEvent.Length != 0) {
        LeaveTriggerEvent = other.LeaveTriggerEvent;
      }
      if (other.MonsterLv != 0) {
        MonsterLv = other.MonsterLv;
      }
      if (other.DungeonDelay != 0) {
        DungeonDelay = other.DungeonDelay;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 64: {
            DungeonDelay = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 64: {
            DungeonDelay = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_RegionBossFloor : pb::IMessage<table_RegionBossFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_RegionBossFloor> _parser = new pb::MessageParser<table_RegionBossFloor>(() => new table_RegionBossFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_RegionBossFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[339]; }
    }

    [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 table_RegionBossFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBossFloor(table_RegionBossFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBossFloor Clone() {
      return new table_RegionBossFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.RegionBossFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.RegionBossFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.RegionBossFloor> list_ = new pbc::RepeatedField<global::Nova.Client.RegionBossFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.RegionBossFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_RegionBossFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_RegionBossFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_RegionBossFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class RegionBossLevel : pb::IMessage<RegionBossLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<RegionBossLevel> _parser = new pb::MessageParser<RegionBossLevel>(() => new RegionBossLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<RegionBossLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[340]; }
    }

    [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 RegionBossLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBossLevel(RegionBossLevel other) : this() {
      id_ = other.id_;
      regionBossId_ = other.regionBossId_;
      difficulty_ = other.difficulty_;
      regionType_ = other.regionType_;
      name_ = other.name_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      suggestedPower_ = other.suggestedPower_;
      preLevelId_ = other.preLevelId_;
      bossShowTime_ = other.bossShowTime_;
      preLevelStar_ = other.preLevelStar_;
      needWorldClass_ = other.needWorldClass_;
      needRoguelike_ = other.needRoguelike_;
      floorId_ = other.floorId_;
      oneStarCondition_ = other.oneStarCondition_;
      twoStarCondition_ = other.twoStarCondition_;
      threeStarCondition_ = other.threeStarCondition_;
      dropId_ = other.dropId_;
      energyConsume_ = other.energyConsume_;
      baseAwardPreview_ = other.baseAwardPreview_;
      entryGroupId1_ = other.entryGroupId1_;
      entryGroupLevel1_ = other.entryGroupLevel1_;
      entryGroupId2_ = other.entryGroupId2_;
      entryGroupLevel2_ = other.entryGroupLevel2_;
      entryGroupId3_ = other.entryGroupId3_;
      entryGroupLevel3_ = other.entryGroupLevel3_;
      entryGroupId4_ = other.entryGroupId4_;
      entryGroupLevel4_ = other.entryGroupLevel4_;
      entryGroupId5_ = other.entryGroupId5_;
      entryGroupLevel5_ = other.entryGroupLevel5_;
      extraDropPreview_ = other.extraDropPreview_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public RegionBossLevel Clone() {
      return new RegionBossLevel(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RegionBossId" field.</summary>
    public const int RegionBossIdFieldNumber = 2;
    private int regionBossId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RegionBossId {
      get { return regionBossId_; }
      set {
        regionBossId_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 3;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "RegionType" field.</summary>
    public const int RegionTypeFieldNumber = 4;
    private int regionType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RegionType {
      get { return regionType_; }
      set {
        regionType_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 5;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 6;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 7;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SuggestedPower" field.</summary>
    public const int SuggestedPowerFieldNumber = 8;
    private int suggestedPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SuggestedPower {
      get { return suggestedPower_; }
      set {
        suggestedPower_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelId" field.</summary>
    public const int PreLevelIdFieldNumber = 9;
    private int preLevelId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelId {
      get { return preLevelId_; }
      set {
        preLevelId_ = value;
      }
    }

    /// <summary>Field number for the "BossShowTime" field.</summary>
    public const int BossShowTimeFieldNumber = 10;
    private int bossShowTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BossShowTime {
      get { return bossShowTime_; }
      set {
        bossShowTime_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelStar" field.</summary>
    public const int PreLevelStarFieldNumber = 11;
    private int preLevelStar_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelStar {
      get { return preLevelStar_; }
      set {
        preLevelStar_ = value;
      }
    }

    /// <summary>Field number for the "NeedWorldClass" field.</summary>
    public const int NeedWorldClassFieldNumber = 12;
    private int needWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedWorldClass {
      get { return needWorldClass_; }
      set {
        needWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "NeedRoguelike" field.</summary>
    public const int NeedRoguelikeFieldNumber = 13;
    private int needRoguelike_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedRoguelike {
      get { return needRoguelike_; }
      set {
        needRoguelike_ = value;
      }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 14;
    private int floorId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FloorId {
      get { return floorId_; }
      set {
        floorId_ = value;
      }
    }

    /// <summary>Field number for the "OneStarCondition" field.</summary>
    public const int OneStarConditionFieldNumber = 15;
    private string oneStarCondition_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OneStarCondition {
      get { return oneStarCondition_; }
      set {
        oneStarCondition_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TwoStarCondition" field.</summary>
    public const int TwoStarConditionFieldNumber = 16;
    private string twoStarCondition_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TwoStarCondition {
      get { return twoStarCondition_; }
      set {
        twoStarCondition_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ThreeStarCondition" field.</summary>
    public const int ThreeStarConditionFieldNumber = 17;
    private string threeStarCondition_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ThreeStarCondition {
      get { return threeStarCondition_; }
      set {
        threeStarCondition_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DropId" field.</summary>
    public const int DropIdFieldNumber = 18;
    private int dropId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropId {
      get { return dropId_; }
      set {
        dropId_ = value;
      }
    }

    /// <summary>Field number for the "EnergyConsume" field.</summary>
    public const int EnergyConsumeFieldNumber = 19;
    private int energyConsume_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnergyConsume {
      get { return energyConsume_; }
      set {
        energyConsume_ = value;
      }
    }

    /// <summary>Field number for the "BaseAwardPreview" field.</summary>
    public const int BaseAwardPreviewFieldNumber = 20;
    private string baseAwardPreview_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BaseAwardPreview {
      get { return baseAwardPreview_; }
      set {
        baseAwardPreview_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EntryGroupId1" field.</summary>
    public const int EntryGroupId1FieldNumber = 21;
    private int entryGroupId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupId1 {
      get { return entryGroupId1_; }
      set {
        entryGroupId1_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupLevel1" field.</summary>
    public const int EntryGroupLevel1FieldNumber = 22;
    private int entryGroupLevel1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupLevel1 {
      get { return entryGroupLevel1_; }
      set {
        entryGroupLevel1_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupId2" field.</summary>
    public const int EntryGroupId2FieldNumber = 23;
    private int entryGroupId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupId2 {
      get { return entryGroupId2_; }
      set {
        entryGroupId2_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupLevel2" field.</summary>
    public const int EntryGroupLevel2FieldNumber = 24;
    private int entryGroupLevel2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupLevel2 {
      get { return entryGroupLevel2_; }
      set {
        entryGroupLevel2_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupId3" field.</summary>
    public const int EntryGroupId3FieldNumber = 25;
    private int entryGroupId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupId3 {
      get { return entryGroupId3_; }
      set {
        entryGroupId3_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupLevel3" field.</summary>
    public const int EntryGroupLevel3FieldNumber = 26;
    private int entryGroupLevel3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupLevel3 {
      get { return entryGroupLevel3_; }
      set {
        entryGroupLevel3_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupId4" field.</summary>
    public const int EntryGroupId4FieldNumber = 27;
    private int entryGroupId4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupId4 {
      get { return entryGroupId4_; }
      set {
        entryGroupId4_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupLevel4" field.</summary>
    public const int EntryGroupLevel4FieldNumber = 28;
    private int entryGroupLevel4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupLevel4 {
      get { return entryGroupLevel4_; }
      set {
        entryGroupLevel4_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupId5" field.</summary>
    public const int EntryGroupId5FieldNumber = 29;
    private int entryGroupId5_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupId5 {
      get { return entryGroupId5_; }
      set {
        entryGroupId5_ = value;
      }
    }

    /// <summary>Field number for the "EntryGroupLevel5" field.</summary>
    public const int EntryGroupLevel5FieldNumber = 30;
    private int entryGroupLevel5_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryGroupLevel5 {
      get { return entryGroupLevel5_; }
      set {
        entryGroupLevel5_ = value;
      }
    }

    /// <summary>Field number for the "ExtraDropPreview" field.</summary>
    public const int ExtraDropPreviewFieldNumber = 31;
    private static readonly pb::FieldCodec<int> _repeated_extraDropPreview_codec
        = pb::FieldCodec.ForInt32(250);
    private readonly pbc::RepeatedField<int> extraDropPreview_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ExtraDropPreview {
      get { return extraDropPreview_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as RegionBossLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(RegionBossLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RegionBossId != other.RegionBossId) return false;
      if (Difficulty != other.Difficulty) return false;
      if (RegionType != other.RegionType) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (SuggestedPower != other.SuggestedPower) return false;
      if (PreLevelId != other.PreLevelId) return false;
      if (BossShowTime != other.BossShowTime) return false;
      if (PreLevelStar != other.PreLevelStar) return false;
      if (NeedWorldClass != other.NeedWorldClass) return false;
      if (NeedRoguelike != other.NeedRoguelike) return false;
      if (FloorId != other.FloorId) return false;
      if (OneStarCondition != other.OneStarCondition) return false;
      if (TwoStarCondition != other.TwoStarCondition) return false;
      if (ThreeStarCondition != other.ThreeStarCondition) return false;
      if (DropId != other.DropId) return false;
      if (EnergyConsume != other.EnergyConsume) return false;
      if (BaseAwardPreview != other.BaseAwardPreview) return false;
      if (EntryGroupId1 != other.EntryGroupId1) return false;
      if (EntryGroupLevel1 != other.EntryGroupLevel1) return false;
      if (EntryGroupId2 != other.EntryGroupId2) return false;
      if (EntryGroupLevel2 != other.EntryGroupLevel2) return false;
      if (EntryGroupId3 != other.EntryGroupId3) return false;
      if (EntryGroupLevel3 != other.EntryGroupLevel3) return false;
      if (EntryGroupId4 != other.EntryGroupId4) return false;
      if (EntryGroupLevel4 != other.EntryGroupLevel4) return false;
      if (EntryGroupId5 != other.EntryGroupId5) return false;
      if (EntryGroupLevel5 != other.EntryGroupLevel5) return false;
      if(!extraDropPreview_.Equals(other.extraDropPreview_)) 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 (RegionBossId != 0) hash ^= RegionBossId.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (RegionType != 0) hash ^= RegionType.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (SuggestedPower != 0) hash ^= SuggestedPower.GetHashCode();
      if (PreLevelId != 0) hash ^= PreLevelId.GetHashCode();
      if (BossShowTime != 0) hash ^= BossShowTime.GetHashCode();
      if (PreLevelStar != 0) hash ^= PreLevelStar.GetHashCode();
      if (NeedWorldClass != 0) hash ^= NeedWorldClass.GetHashCode();
      if (NeedRoguelike != 0) hash ^= NeedRoguelike.GetHashCode();
      if (FloorId != 0) hash ^= FloorId.GetHashCode();
      if (OneStarCondition.Length != 0) hash ^= OneStarCondition.GetHashCode();
      if (TwoStarCondition.Length != 0) hash ^= TwoStarCondition.GetHashCode();
      if (ThreeStarCondition.Length != 0) hash ^= ThreeStarCondition.GetHashCode();
      if (DropId != 0) hash ^= DropId.GetHashCode();
      if (EnergyConsume != 0) hash ^= EnergyConsume.GetHashCode();
      if (BaseAwardPreview.Length != 0) hash ^= BaseAwardPreview.GetHashCode();
      if (EntryGroupId1 != 0) hash ^= EntryGroupId1.GetHashCode();
      if (EntryGroupLevel1 != 0) hash ^= EntryGroupLevel1.GetHashCode();
      if (EntryGroupId2 != 0) hash ^= EntryGroupId2.GetHashCode();
      if (EntryGroupLevel2 != 0) hash ^= EntryGroupLevel2.GetHashCode();
      if (EntryGroupId3 != 0) hash ^= EntryGroupId3.GetHashCode();
      if (EntryGroupLevel3 != 0) hash ^= EntryGroupLevel3.GetHashCode();
      if (EntryGroupId4 != 0) hash ^= EntryGroupId4.GetHashCode();
      if (EntryGroupLevel4 != 0) hash ^= EntryGroupLevel4.GetHashCode();
      if (EntryGroupId5 != 0) hash ^= EntryGroupId5.GetHashCode();
      if (EntryGroupLevel5 != 0) hash ^= EntryGroupLevel5.GetHashCode();
      hash ^= extraDropPreview_.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.WriteInt32(Id);
      }
      if (RegionBossId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RegionBossId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (RegionType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RegionType);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Icon);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(SuggestedPower);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(PreLevelId);
      }
      if (BossShowTime != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BossShowTime);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(NeedWorldClass);
      }
      if (NeedRoguelike != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(NeedRoguelike);
      }
      if (FloorId != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(FloorId);
      }
      if (OneStarCondition.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(OneStarCondition);
      }
      if (TwoStarCondition.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(TwoStarCondition);
      }
      if (ThreeStarCondition.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(ThreeStarCondition);
      }
      if (DropId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(DropId);
      }
      if (EnergyConsume != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(EnergyConsume);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(BaseAwardPreview);
      }
      if (EntryGroupId1 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(EntryGroupId1);
      }
      if (EntryGroupLevel1 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(EntryGroupLevel1);
      }
      if (EntryGroupId2 != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(EntryGroupId2);
      }
      if (EntryGroupLevel2 != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(EntryGroupLevel2);
      }
      if (EntryGroupId3 != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(EntryGroupId3);
      }
      if (EntryGroupLevel3 != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(EntryGroupLevel3);
      }
      if (EntryGroupId4 != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(EntryGroupId4);
      }
      if (EntryGroupLevel4 != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(EntryGroupLevel4);
      }
      if (EntryGroupId5 != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(EntryGroupId5);
      }
      if (EntryGroupLevel5 != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(EntryGroupLevel5);
      }
      extraDropPreview_.WriteTo(output, _repeated_extraDropPreview_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (RegionBossId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RegionBossId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (RegionType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RegionType);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Icon);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(SuggestedPower);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(PreLevelId);
      }
      if (BossShowTime != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(BossShowTime);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(NeedWorldClass);
      }
      if (NeedRoguelike != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(NeedRoguelike);
      }
      if (FloorId != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(FloorId);
      }
      if (OneStarCondition.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(OneStarCondition);
      }
      if (TwoStarCondition.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(TwoStarCondition);
      }
      if (ThreeStarCondition.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(ThreeStarCondition);
      }
      if (DropId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(DropId);
      }
      if (EnergyConsume != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(EnergyConsume);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(BaseAwardPreview);
      }
      if (EntryGroupId1 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(EntryGroupId1);
      }
      if (EntryGroupLevel1 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(EntryGroupLevel1);
      }
      if (EntryGroupId2 != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(EntryGroupId2);
      }
      if (EntryGroupLevel2 != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(EntryGroupLevel2);
      }
      if (EntryGroupId3 != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(EntryGroupId3);
      }
      if (EntryGroupLevel3 != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(EntryGroupLevel3);
      }
      if (EntryGroupId4 != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(EntryGroupId4);
      }
      if (EntryGroupLevel4 != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(EntryGroupLevel4);
      }
      if (EntryGroupId5 != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(EntryGroupId5);
      }
      if (EntryGroupLevel5 != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(EntryGroupLevel5);
      }
      extraDropPreview_.WriteTo(ref output, _repeated_extraDropPreview_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (RegionBossId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RegionBossId);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (RegionType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RegionType);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (SuggestedPower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SuggestedPower);
      }
      if (PreLevelId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelId);
      }
      if (BossShowTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BossShowTime);
      }
      if (PreLevelStar != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelStar);
      }
      if (NeedWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedWorldClass);
      }
      if (NeedRoguelike != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedRoguelike);
      }
      if (FloorId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FloorId);
      }
      if (OneStarCondition.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OneStarCondition);
      }
      if (TwoStarCondition.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(TwoStarCondition);
      }
      if (ThreeStarCondition.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ThreeStarCondition);
      }
      if (DropId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DropId);
      }
      if (EnergyConsume != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EnergyConsume);
      }
      if (BaseAwardPreview.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BaseAwardPreview);
      }
      if (EntryGroupId1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupId1);
      }
      if (EntryGroupLevel1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupLevel1);
      }
      if (EntryGroupId2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupId2);
      }
      if (EntryGroupLevel2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupLevel2);
      }
      if (EntryGroupId3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupId3);
      }
      if (EntryGroupLevel3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupLevel3);
      }
      if (EntryGroupId4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupId4);
      }
      if (EntryGroupLevel4 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupLevel4);
      }
      if (EntryGroupId5 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupId5);
      }
      if (EntryGroupLevel5 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EntryGroupLevel5);
      }
      size += extraDropPreview_.CalculateSize(_repeated_extraDropPreview_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(RegionBossLevel other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RegionBossId != 0) {
        RegionBossId = other.RegionBossId;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.RegionType != 0) {
        RegionType = other.RegionType;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.SuggestedPower != 0) {
        SuggestedPower = other.SuggestedPower;
      }
      if (other.PreLevelId != 0) {
        PreLevelId = other.PreLevelId;
      }
      if (other.BossShowTime != 0) {
        BossShowTime = other.BossShowTime;
      }
      if (other.PreLevelStar != 0) {
        PreLevelStar = other.PreLevelStar;
      }
      if (other.NeedWorldClass != 0) {
        NeedWorldClass = other.NeedWorldClass;
      }
      if (other.NeedRoguelike != 0) {
        NeedRoguelike = other.NeedRoguelike;
      }
      if (other.FloorId != 0) {
        FloorId = other.FloorId;
      }
      if (other.OneStarCondition.Length != 0) {
        OneStarCondition = other.OneStarCondition;
      }
      if (other.TwoStarCondition.Length != 0) {
        TwoStarCondition = other.TwoStarCondition;
      }
      if (other.ThreeStarCondition.Length != 0) {
        ThreeStarCondition = other.ThreeStarCondition;
      }
      if (other.DropId != 0) {
        DropId = other.DropId;
      }
      if (other.EnergyConsume != 0) {
        EnergyConsume = other.EnergyConsume;
      }
      if (other.BaseAwardPreview.Length != 0) {
        BaseAwardPreview = other.BaseAwardPreview;
      }
      if (other.EntryGroupId1 != 0) {
        EntryGroupId1 = other.EntryGroupId1;
      }
      if (other.EntryGroupLevel1 != 0) {
        EntryGroupLevel1 = other.EntryGroupLevel1;
      }
      if (other.EntryGroupId2 != 0) {
        EntryGroupId2 = other.EntryGroupId2;
      }
      if (other.EntryGroupLevel2 != 0) {
        EntryGroupLevel2 = other.EntryGroupLevel2;
      }
      if (other.EntryGroupId3 != 0) {
        EntryGroupId3 = other.EntryGroupId3;
      }
      if (other.EntryGroupLevel3 != 0) {
        EntryGroupLevel3 = other.EntryGroupLevel3;
      }
      if (other.EntryGroupId4 != 0) {
        EntryGroupId4 = other.EntryGroupId4;
      }
      if (other.EntryGroupLevel4 != 0) {
        EntryGroupLevel4 = other.EntryGroupLevel4;
      }
      if (other.EntryGroupId5 != 0) {
        EntryGroupId5 = other.EntryGroupId5;
      }
      if (other.EntryGroupLevel5 != 0) {
        EntryGroupLevel5 = other.EntryGroupLevel5;
      }
      extraDropPreview_.Add(other.extraDropPreview_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            RegionBossId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            RegionType = input.ReadInt32();
            break;
          }
          case 42: {
            Name = input.ReadString();
            break;
          }
          case 50: {
            Desc = input.ReadString();
            break;
          }
          case 58: {
            Icon = input.ReadString();
            break;
          }
          case 64: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 72: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 80: {
            BossShowTime = input.ReadInt32();
            break;
          }
          case 88: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 96: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 104: {
            NeedRoguelike = input.ReadInt32();
            break;
          }
          case 112: {
            FloorId = input.ReadInt32();
            break;
          }
          case 122: {
            OneStarCondition = input.ReadString();
            break;
          }
          case 130: {
            TwoStarCondition = input.ReadString();
            break;
          }
          case 138: {
            ThreeStarCondition = input.ReadString();
            break;
          }
          case 144: {
            DropId = input.ReadInt32();
            break;
          }
          case 152: {
            EnergyConsume = input.ReadInt32();
            break;
          }
          case 162: {
            BaseAwardPreview = input.ReadString();
            break;
          }
          case 168: {
            EntryGroupId1 = input.ReadInt32();
            break;
          }
          case 176: {
            EntryGroupLevel1 = input.ReadInt32();
            break;
          }
          case 184: {
            EntryGroupId2 = input.ReadInt32();
            break;
          }
          case 192: {
            EntryGroupLevel2 = input.ReadInt32();
            break;
          }
          case 200: {
            EntryGroupId3 = input.ReadInt32();
            break;
          }
          case 208: {
            EntryGroupLevel3 = input.ReadInt32();
            break;
          }
          case 216: {
            EntryGroupId4 = input.ReadInt32();
            break;
          }
          case 224: {
            EntryGroupLevel4 = input.ReadInt32();
            break;
          }
          case 232: {
            EntryGroupId5 = input.ReadInt32();
            break;
          }
          case 240: {
            EntryGroupLevel5 = input.ReadInt32();
            break;
          }
          case 250:
          case 248: {
            extraDropPreview_.AddEntriesFrom(input, _repeated_extraDropPreview_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RegionBossId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            RegionType = input.ReadInt32();
            break;
          }
          case 42: {
            Name = input.ReadString();
            break;
          }
          case 50: {
            Desc = input.ReadString();
            break;
          }
          case 58: {
            Icon = input.ReadString();
            break;
          }
          case 64: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 72: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 80: {
            BossShowTime = input.ReadInt32();
            break;
          }
          case 88: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 96: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 104: {
            NeedRoguelike = input.ReadInt32();
            break;
          }
          case 112: {
            FloorId = input.ReadInt32();
            break;
          }
          case 122: {
            OneStarCondition = input.ReadString();
            break;
          }
          case 130: {
            TwoStarCondition = input.ReadString();
            break;
          }
          case 138: {
            ThreeStarCondition = input.ReadString();
            break;
          }
          case 144: {
            DropId = input.ReadInt32();
            break;
          }
          case 152: {
            EnergyConsume = input.ReadInt32();
            break;
          }
          case 162: {
            BaseAwardPreview = input.ReadString();
            break;
          }
          case 168: {
            EntryGroupId1 = input.ReadInt32();
            break;
          }
          case 176: {
            EntryGroupLevel1 = input.ReadInt32();
            break;
          }
          case 184: {
            EntryGroupId2 = input.ReadInt32();
            break;
          }
          case 192: {
            EntryGroupLevel2 = input.ReadInt32();
            break;
          }
          case 200: {
            EntryGroupId3 = input.ReadInt32();
            break;
          }
          case 208: {
            EntryGroupLevel3 = input.ReadInt32();
            break;
          }
          case 216: {
            EntryGroupId4 = input.ReadInt32();
            break;
          }
          case 224: {
            EntryGroupLevel4 = input.ReadInt32();
            break;
          }
          case 232: {
            EntryGroupId5 = input.ReadInt32();
            break;
          }
          case 240: {
            EntryGroupLevel5 = input.ReadInt32();
            break;
          }
          case 250:
          case 248: {
            extraDropPreview_.AddEntriesFrom(ref input, _repeated_extraDropPreview_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_RegionBossLevel : pb::IMessage<table_RegionBossLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_RegionBossLevel> _parser = new pb::MessageParser<table_RegionBossLevel>(() => new table_RegionBossLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_RegionBossLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[341]; }
    }

    [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 table_RegionBossLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBossLevel(table_RegionBossLevel other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_RegionBossLevel Clone() {
      return new table_RegionBossLevel(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.RegionBossLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.RegionBossLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.RegionBossLevel> list_ = new pbc::RepeatedField<global::Nova.Client.RegionBossLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.RegionBossLevel> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_RegionBossLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_RegionBossLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_RegionBossLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ResidentGoods : pb::IMessage<ResidentGoods>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ResidentGoods> _parser = new pb::MessageParser<ResidentGoods>(() => new ResidentGoods());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ResidentGoods> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[342]; }
    }

    [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 ResidentGoods() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResidentGoods(ResidentGoods other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      shopId_ = other.shopId_;
      saleNumber_ = other.saleNumber_;
      itemId_ = other.itemId_;
      itemQuantity_ = other.itemQuantity_;
      maximumLimit_ = other.maximumLimit_;
      currencyItemId_ = other.currencyItemId_;
      price_ = other.price_;
      originalPrice_ = other.originalPrice_;
      discount_ = other.discount_;
      appearCondType_ = other.appearCondType_;
      appearCondParams_ = other.appearCondParams_;
      purchaseCondType_ = other.purchaseCondType_;
      purchaseCondParams_ = other.purchaseCondParams_;
      upShelfTime_ = other.upShelfTime_;
      downShelfTime_ = other.downShelfTime_;
      unlockPurchaseTime_ = other.unlockPurchaseTime_;
      displayMode_ = other.displayMode_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResidentGoods Clone() {
      return new ResidentGoods(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ShopId" field.</summary>
    public const int ShopIdFieldNumber = 4;
    private int shopId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShopId {
      get { return shopId_; }
      set {
        shopId_ = value;
      }
    }

    /// <summary>Field number for the "SaleNumber" field.</summary>
    public const int SaleNumberFieldNumber = 5;
    private int saleNumber_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SaleNumber {
      get { return saleNumber_; }
      set {
        saleNumber_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 6;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ItemQuantity" field.</summary>
    public const int ItemQuantityFieldNumber = 7;
    private int itemQuantity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQuantity {
      get { return itemQuantity_; }
      set {
        itemQuantity_ = value;
      }
    }

    /// <summary>Field number for the "MaximumLimit" field.</summary>
    public const int MaximumLimitFieldNumber = 8;
    private int maximumLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaximumLimit {
      get { return maximumLimit_; }
      set {
        maximumLimit_ = value;
      }
    }

    /// <summary>Field number for the "CurrencyItemId" field.</summary>
    public const int CurrencyItemIdFieldNumber = 9;
    private int currencyItemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CurrencyItemId {
      get { return currencyItemId_; }
      set {
        currencyItemId_ = value;
      }
    }

    /// <summary>Field number for the "Price" field.</summary>
    public const int PriceFieldNumber = 10;
    private int price_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Price {
      get { return price_; }
      set {
        price_ = value;
      }
    }

    /// <summary>Field number for the "OriginalPrice" field.</summary>
    public const int OriginalPriceFieldNumber = 11;
    private int originalPrice_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OriginalPrice {
      get { return originalPrice_; }
      set {
        originalPrice_ = value;
      }
    }

    /// <summary>Field number for the "Discount" field.</summary>
    public const int DiscountFieldNumber = 12;
    private int discount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Discount {
      get { return discount_; }
      set {
        discount_ = value;
      }
    }

    /// <summary>Field number for the "AppearCondType" field.</summary>
    public const int AppearCondTypeFieldNumber = 13;
    private int appearCondType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AppearCondType {
      get { return appearCondType_; }
      set {
        appearCondType_ = value;
      }
    }

    /// <summary>Field number for the "AppearCondParams" field.</summary>
    public const int AppearCondParamsFieldNumber = 14;
    private string appearCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AppearCondParams {
      get { return appearCondParams_; }
      set {
        appearCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PurchaseCondType" field.</summary>
    public const int PurchaseCondTypeFieldNumber = 15;
    private int purchaseCondType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PurchaseCondType {
      get { return purchaseCondType_; }
      set {
        purchaseCondType_ = value;
      }
    }

    /// <summary>Field number for the "PurchaseCondParams" field.</summary>
    public const int PurchaseCondParamsFieldNumber = 16;
    private string purchaseCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PurchaseCondParams {
      get { return purchaseCondParams_; }
      set {
        purchaseCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UpShelfTime" field.</summary>
    public const int UpShelfTimeFieldNumber = 17;
    private string upShelfTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UpShelfTime {
      get { return upShelfTime_; }
      set {
        upShelfTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DownShelfTime" field.</summary>
    public const int DownShelfTimeFieldNumber = 18;
    private string downShelfTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DownShelfTime {
      get { return downShelfTime_; }
      set {
        downShelfTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UnlockPurchaseTime" field.</summary>
    public const int UnlockPurchaseTimeFieldNumber = 19;
    private string unlockPurchaseTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnlockPurchaseTime {
      get { return unlockPurchaseTime_; }
      set {
        unlockPurchaseTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DisplayMode" field.</summary>
    public const int DisplayModeFieldNumber = 20;
    private int displayMode_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DisplayMode {
      get { return displayMode_; }
      set {
        displayMode_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ResidentGoods);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ResidentGoods other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (ShopId != other.ShopId) return false;
      if (SaleNumber != other.SaleNumber) return false;
      if (ItemId != other.ItemId) return false;
      if (ItemQuantity != other.ItemQuantity) return false;
      if (MaximumLimit != other.MaximumLimit) return false;
      if (CurrencyItemId != other.CurrencyItemId) return false;
      if (Price != other.Price) return false;
      if (OriginalPrice != other.OriginalPrice) return false;
      if (Discount != other.Discount) return false;
      if (AppearCondType != other.AppearCondType) return false;
      if (AppearCondParams != other.AppearCondParams) return false;
      if (PurchaseCondType != other.PurchaseCondType) return false;
      if (PurchaseCondParams != other.PurchaseCondParams) return false;
      if (UpShelfTime != other.UpShelfTime) return false;
      if (DownShelfTime != other.DownShelfTime) return false;
      if (UnlockPurchaseTime != other.UnlockPurchaseTime) return false;
      if (DisplayMode != other.DisplayMode) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (ShopId != 0) hash ^= ShopId.GetHashCode();
      if (SaleNumber != 0) hash ^= SaleNumber.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ItemQuantity != 0) hash ^= ItemQuantity.GetHashCode();
      if (MaximumLimit != 0) hash ^= MaximumLimit.GetHashCode();
      if (CurrencyItemId != 0) hash ^= CurrencyItemId.GetHashCode();
      if (Price != 0) hash ^= Price.GetHashCode();
      if (OriginalPrice != 0) hash ^= OriginalPrice.GetHashCode();
      if (Discount != 0) hash ^= Discount.GetHashCode();
      if (AppearCondType != 0) hash ^= AppearCondType.GetHashCode();
      if (AppearCondParams.Length != 0) hash ^= AppearCondParams.GetHashCode();
      if (PurchaseCondType != 0) hash ^= PurchaseCondType.GetHashCode();
      if (PurchaseCondParams.Length != 0) hash ^= PurchaseCondParams.GetHashCode();
      if (UpShelfTime.Length != 0) hash ^= UpShelfTime.GetHashCode();
      if (DownShelfTime.Length != 0) hash ^= DownShelfTime.GetHashCode();
      if (UnlockPurchaseTime.Length != 0) hash ^= UnlockPurchaseTime.GetHashCode();
      if (DisplayMode != 0) hash ^= DisplayMode.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (ShopId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ShopId);
      }
      if (SaleNumber != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SaleNumber);
      }
      if (ItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ItemId);
      }
      if (ItemQuantity != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemQuantity);
      }
      if (MaximumLimit != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaximumLimit);
      }
      if (CurrencyItemId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CurrencyItemId);
      }
      if (Price != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Price);
      }
      if (OriginalPrice != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(OriginalPrice);
      }
      if (Discount != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Discount);
      }
      if (AppearCondType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AppearCondType);
      }
      if (AppearCondParams.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(AppearCondParams);
      }
      if (PurchaseCondType != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(PurchaseCondType);
      }
      if (PurchaseCondParams.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(PurchaseCondParams);
      }
      if (UpShelfTime.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(UpShelfTime);
      }
      if (DownShelfTime.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(DownShelfTime);
      }
      if (UnlockPurchaseTime.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(UnlockPurchaseTime);
      }
      if (DisplayMode != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DisplayMode);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (ShopId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ShopId);
      }
      if (SaleNumber != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(SaleNumber);
      }
      if (ItemId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ItemId);
      }
      if (ItemQuantity != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemQuantity);
      }
      if (MaximumLimit != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaximumLimit);
      }
      if (CurrencyItemId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(CurrencyItemId);
      }
      if (Price != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Price);
      }
      if (OriginalPrice != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(OriginalPrice);
      }
      if (Discount != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Discount);
      }
      if (AppearCondType != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AppearCondType);
      }
      if (AppearCondParams.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(AppearCondParams);
      }
      if (PurchaseCondType != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(PurchaseCondType);
      }
      if (PurchaseCondParams.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(PurchaseCondParams);
      }
      if (UpShelfTime.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(UpShelfTime);
      }
      if (DownShelfTime.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(DownShelfTime);
      }
      if (UnlockPurchaseTime.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(UnlockPurchaseTime);
      }
      if (DisplayMode != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(DisplayMode);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (ShopId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShopId);
      }
      if (SaleNumber != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SaleNumber);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ItemQuantity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemQuantity);
      }
      if (MaximumLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaximumLimit);
      }
      if (CurrencyItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrencyItemId);
      }
      if (Price != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Price);
      }
      if (OriginalPrice != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OriginalPrice);
      }
      if (Discount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Discount);
      }
      if (AppearCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AppearCondType);
      }
      if (AppearCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AppearCondParams);
      }
      if (PurchaseCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PurchaseCondType);
      }
      if (PurchaseCondParams.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(PurchaseCondParams);
      }
      if (UpShelfTime.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(UpShelfTime);
      }
      if (DownShelfTime.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(DownShelfTime);
      }
      if (UnlockPurchaseTime.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(UnlockPurchaseTime);
      }
      if (DisplayMode != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DisplayMode);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ResidentGoods other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.ShopId != 0) {
        ShopId = other.ShopId;
      }
      if (other.SaleNumber != 0) {
        SaleNumber = other.SaleNumber;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ItemQuantity != 0) {
        ItemQuantity = other.ItemQuantity;
      }
      if (other.MaximumLimit != 0) {
        MaximumLimit = other.MaximumLimit;
      }
      if (other.CurrencyItemId != 0) {
        CurrencyItemId = other.CurrencyItemId;
      }
      if (other.Price != 0) {
        Price = other.Price;
      }
      if (other.OriginalPrice != 0) {
        OriginalPrice = other.OriginalPrice;
      }
      if (other.Discount != 0) {
        Discount = other.Discount;
      }
      if (other.AppearCondType != 0) {
        AppearCondType = other.AppearCondType;
      }
      if (other.AppearCondParams.Length != 0) {
        AppearCondParams = other.AppearCondParams;
      }
      if (other.PurchaseCondType != 0) {
        PurchaseCondType = other.PurchaseCondType;
      }
      if (other.PurchaseCondParams.Length != 0) {
        PurchaseCondParams = other.PurchaseCondParams;
      }
      if (other.UpShelfTime.Length != 0) {
        UpShelfTime = other.UpShelfTime;
      }
      if (other.DownShelfTime.Length != 0) {
        DownShelfTime = other.DownShelfTime;
      }
      if (other.UnlockPurchaseTime.Length != 0) {
        UnlockPurchaseTime = other.UnlockPurchaseTime;
      }
      if (other.DisplayMode != 0) {
        DisplayMode = other.DisplayMode;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            ShopId = input.ReadInt32();
            break;
          }
          case 40: {
            SaleNumber = input.ReadInt32();
            break;
          }
          case 48: {
            ItemId = input.ReadInt32();
            break;
          }
          case 56: {
            ItemQuantity = input.ReadInt32();
            break;
          }
          case 64: {
            MaximumLimit = input.ReadInt32();
            break;
          }
          case 72: {
            CurrencyItemId = input.ReadInt32();
            break;
          }
          case 80: {
            Price = input.ReadInt32();
            break;
          }
          case 88: {
            OriginalPrice = input.ReadInt32();
            break;
          }
          case 96: {
            Discount = input.ReadInt32();
            break;
          }
          case 104: {
            AppearCondType = input.ReadInt32();
            break;
          }
          case 114: {
            AppearCondParams = input.ReadString();
            break;
          }
          case 120: {
            PurchaseCondType = input.ReadInt32();
            break;
          }
          case 130: {
            PurchaseCondParams = input.ReadString();
            break;
          }
          case 138: {
            UpShelfTime = input.ReadString();
            break;
          }
          case 146: {
            DownShelfTime = input.ReadString();
            break;
          }
          case 154: {
            UnlockPurchaseTime = input.ReadString();
            break;
          }
          case 160: {
            DisplayMode = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            ShopId = input.ReadInt32();
            break;
          }
          case 40: {
            SaleNumber = input.ReadInt32();
            break;
          }
          case 48: {
            ItemId = input.ReadInt32();
            break;
          }
          case 56: {
            ItemQuantity = input.ReadInt32();
            break;
          }
          case 64: {
            MaximumLimit = input.ReadInt32();
            break;
          }
          case 72: {
            CurrencyItemId = input.ReadInt32();
            break;
          }
          case 80: {
            Price = input.ReadInt32();
            break;
          }
          case 88: {
            OriginalPrice = input.ReadInt32();
            break;
          }
          case 96: {
            Discount = input.ReadInt32();
            break;
          }
          case 104: {
            AppearCondType = input.ReadInt32();
            break;
          }
          case 114: {
            AppearCondParams = input.ReadString();
            break;
          }
          case 120: {
            PurchaseCondType = input.ReadInt32();
            break;
          }
          case 130: {
            PurchaseCondParams = input.ReadString();
            break;
          }
          case 138: {
            UpShelfTime = input.ReadString();
            break;
          }
          case 146: {
            DownShelfTime = input.ReadString();
            break;
          }
          case 154: {
            UnlockPurchaseTime = input.ReadString();
            break;
          }
          case 160: {
            DisplayMode = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ResidentGoods : pb::IMessage<table_ResidentGoods>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ResidentGoods> _parser = new pb::MessageParser<table_ResidentGoods>(() => new table_ResidentGoods());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ResidentGoods> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[343]; }
    }

    [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 table_ResidentGoods() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ResidentGoods(table_ResidentGoods other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ResidentGoods Clone() {
      return new table_ResidentGoods(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ResidentGoods> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ResidentGoods.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ResidentGoods> list_ = new pbc::RepeatedField<global::Nova.Client.ResidentGoods>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ResidentGoods> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ResidentGoods);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ResidentGoods other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ResidentGoods other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ResidentShop : pb::IMessage<ResidentShop>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ResidentShop> _parser = new pb::MessageParser<ResidentShop>(() => new ResidentShop());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ResidentShop> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[344]; }
    }

    [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 ResidentShop() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResidentShop(ResidentShop other) : this() {
      id_ = other.id_;
      shopCoin_ = other.shopCoin_;
      type_ = other.type_;
      name_ = other.name_;
      sequence_ = other.sequence_;
      refreshTimeType_ = other.refreshTimeType_;
      refreshInterval_ = other.refreshInterval_;
      unlockCondType_ = other.unlockCondType_;
      unlockCondParams_ = other.unlockCondParams_;
      openTime_ = other.openTime_;
      closeTime_ = other.closeTime_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ResidentShop Clone() {
      return new ResidentShop(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ShopCoin" field.</summary>
    public const int ShopCoinFieldNumber = 2;
    private int shopCoin_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShopCoin {
      get { return shopCoin_; }
      set {
        shopCoin_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 3;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sequence" field.</summary>
    public const int SequenceFieldNumber = 5;
    private int sequence_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sequence {
      get { return sequence_; }
      set {
        sequence_ = value;
      }
    }

    /// <summary>Field number for the "RefreshTimeType" field.</summary>
    public const int RefreshTimeTypeFieldNumber = 6;
    private int refreshTimeType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefreshTimeType {
      get { return refreshTimeType_; }
      set {
        refreshTimeType_ = value;
      }
    }

    /// <summary>Field number for the "RefreshInterval" field.</summary>
    public const int RefreshIntervalFieldNumber = 7;
    private int refreshInterval_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefreshInterval {
      get { return refreshInterval_; }
      set {
        refreshInterval_ = value;
      }
    }

    /// <summary>Field number for the "UnlockCondType" field.</summary>
    public const int UnlockCondTypeFieldNumber = 8;
    private int unlockCondType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockCondType {
      get { return unlockCondType_; }
      set {
        unlockCondType_ = value;
      }
    }

    /// <summary>Field number for the "UnlockCondParams" field.</summary>
    public const int UnlockCondParamsFieldNumber = 9;
    private string unlockCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnlockCondParams {
      get { return unlockCondParams_; }
      set {
        unlockCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OpenTime" field.</summary>
    public const int OpenTimeFieldNumber = 10;
    private string openTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OpenTime {
      get { return openTime_; }
      set {
        openTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CloseTime" field.</summary>
    public const int CloseTimeFieldNumber = 11;
    private string closeTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CloseTime {
      get { return closeTime_; }
      set {
        closeTime_ = 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 ResidentShop);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ResidentShop other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ShopCoin != other.ShopCoin) return false;
      if (Type != other.Type) return false;
      if (Name != other.Name) return false;
      if (Sequence != other.Sequence) return false;
      if (RefreshTimeType != other.RefreshTimeType) return false;
      if (RefreshInterval != other.RefreshInterval) return false;
      if (UnlockCondType != other.UnlockCondType) return false;
      if (UnlockCondParams != other.UnlockCondParams) return false;
      if (OpenTime != other.OpenTime) return false;
      if (CloseTime != other.CloseTime) 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 (ShopCoin != 0) hash ^= ShopCoin.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Sequence != 0) hash ^= Sequence.GetHashCode();
      if (RefreshTimeType != 0) hash ^= RefreshTimeType.GetHashCode();
      if (RefreshInterval != 0) hash ^= RefreshInterval.GetHashCode();
      if (UnlockCondType != 0) hash ^= UnlockCondType.GetHashCode();
      if (UnlockCondParams.Length != 0) hash ^= UnlockCondParams.GetHashCode();
      if (OpenTime.Length != 0) hash ^= OpenTime.GetHashCode();
      if (CloseTime.Length != 0) hash ^= CloseTime.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.WriteInt32(Id);
      }
      if (ShopCoin != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ShopCoin);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Sequence != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sequence);
      }
      if (RefreshTimeType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RefreshTimeType);
      }
      if (RefreshInterval != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RefreshInterval);
      }
      if (UnlockCondType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(UnlockCondType);
      }
      if (UnlockCondParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(UnlockCondParams);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(OpenTime);
      }
      if (CloseTime.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(CloseTime);
      }
      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.WriteInt32(Id);
      }
      if (ShopCoin != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ShopCoin);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Sequence != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sequence);
      }
      if (RefreshTimeType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RefreshTimeType);
      }
      if (RefreshInterval != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RefreshInterval);
      }
      if (UnlockCondType != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(UnlockCondType);
      }
      if (UnlockCondParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(UnlockCondParams);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(OpenTime);
      }
      if (CloseTime.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(CloseTime);
      }
      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.ComputeInt32Size(Id);
      }
      if (ShopCoin != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShopCoin);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Sequence != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sequence);
      }
      if (RefreshTimeType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefreshTimeType);
      }
      if (RefreshInterval != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefreshInterval);
      }
      if (UnlockCondType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockCondType);
      }
      if (UnlockCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UnlockCondParams);
      }
      if (OpenTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OpenTime);
      }
      if (CloseTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CloseTime);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ResidentShop other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ShopCoin != 0) {
        ShopCoin = other.ShopCoin;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Sequence != 0) {
        Sequence = other.Sequence;
      }
      if (other.RefreshTimeType != 0) {
        RefreshTimeType = other.RefreshTimeType;
      }
      if (other.RefreshInterval != 0) {
        RefreshInterval = other.RefreshInterval;
      }
      if (other.UnlockCondType != 0) {
        UnlockCondType = other.UnlockCondType;
      }
      if (other.UnlockCondParams.Length != 0) {
        UnlockCondParams = other.UnlockCondParams;
      }
      if (other.OpenTime.Length != 0) {
        OpenTime = other.OpenTime;
      }
      if (other.CloseTime.Length != 0) {
        CloseTime = other.CloseTime;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ShopCoin = input.ReadInt32();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            Sequence = input.ReadInt32();
            break;
          }
          case 48: {
            RefreshTimeType = input.ReadInt32();
            break;
          }
          case 56: {
            RefreshInterval = input.ReadInt32();
            break;
          }
          case 64: {
            UnlockCondType = input.ReadInt32();
            break;
          }
          case 74: {
            UnlockCondParams = input.ReadString();
            break;
          }
          case 82: {
            OpenTime = input.ReadString();
            break;
          }
          case 90: {
            CloseTime = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ShopCoin = input.ReadInt32();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            Sequence = input.ReadInt32();
            break;
          }
          case 48: {
            RefreshTimeType = input.ReadInt32();
            break;
          }
          case 56: {
            RefreshInterval = input.ReadInt32();
            break;
          }
          case 64: {
            UnlockCondType = input.ReadInt32();
            break;
          }
          case 74: {
            UnlockCondParams = input.ReadString();
            break;
          }
          case 82: {
            OpenTime = input.ReadString();
            break;
          }
          case 90: {
            CloseTime = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ResidentShop : pb::IMessage<table_ResidentShop>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ResidentShop> _parser = new pb::MessageParser<table_ResidentShop>(() => new table_ResidentShop());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ResidentShop> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[345]; }
    }

    [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 table_ResidentShop() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ResidentShop(table_ResidentShop other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ResidentShop Clone() {
      return new table_ResidentShop(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ResidentShop> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ResidentShop.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ResidentShop> list_ = new pbc::RepeatedField<global::Nova.Client.ResidentShop>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ResidentShop> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ResidentShop);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ResidentShop other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ResidentShop other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ScriptParameter : pb::IMessage<ScriptParameter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ScriptParameter> _parser = new pb::MessageParser<ScriptParameter>(() => new ScriptParameter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ScriptParameter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[346]; }
    }

    [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 ScriptParameter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ScriptParameter(ScriptParameter other) : this() {
      id_ = other.id_;
      levelTypeData_ = other.levelTypeData_;
      levelData_ = other.levelData_;
      mainOrSupport_ = other.mainOrSupport_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ScriptParameter Clone() {
      return new ScriptParameter(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "levelTypeData" field.</summary>
    public const int LevelTypeDataFieldNumber = 2;
    private int levelTypeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelTypeData {
      get { return levelTypeData_; }
      set {
        levelTypeData_ = value;
      }
    }

    /// <summary>Field number for the "LevelData" field.</summary>
    public const int LevelDataFieldNumber = 3;
    private int levelData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelData {
      get { return levelData_; }
      set {
        levelData_ = value;
      }
    }

    /// <summary>Field number for the "MainOrSupport" field.</summary>
    public const int MainOrSupportFieldNumber = 4;
    private int mainOrSupport_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainOrSupport {
      get { return mainOrSupport_; }
      set {
        mainOrSupport_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ScriptParameter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ScriptParameter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (LevelTypeData != other.LevelTypeData) return false;
      if (LevelData != other.LevelData) return false;
      if (MainOrSupport != other.MainOrSupport) 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 (LevelTypeData != 0) hash ^= LevelTypeData.GetHashCode();
      if (LevelData != 0) hash ^= LevelData.GetHashCode();
      if (MainOrSupport != 0) hash ^= MainOrSupport.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.WriteInt32(Id);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MainOrSupport);
      }
      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.WriteInt32(Id);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MainOrSupport);
      }
      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.ComputeInt32Size(Id);
      }
      if (LevelTypeData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTypeData);
      }
      if (LevelData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelData);
      }
      if (MainOrSupport != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainOrSupport);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ScriptParameter other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.LevelTypeData != 0) {
        LevelTypeData = other.LevelTypeData;
      }
      if (other.LevelData != 0) {
        LevelData = other.LevelData;
      }
      if (other.MainOrSupport != 0) {
        MainOrSupport = other.MainOrSupport;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 24: {
            LevelData = input.ReadInt32();
            break;
          }
          case 32: {
            MainOrSupport = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 24: {
            LevelData = input.ReadInt32();
            break;
          }
          case 32: {
            MainOrSupport = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ScriptParameter : pb::IMessage<table_ScriptParameter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ScriptParameter> _parser = new pb::MessageParser<table_ScriptParameter>(() => new table_ScriptParameter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ScriptParameter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[347]; }
    }

    [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 table_ScriptParameter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ScriptParameter(table_ScriptParameter other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ScriptParameter Clone() {
      return new table_ScriptParameter(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ScriptParameter> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ScriptParameter.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ScriptParameter> list_ = new pbc::RepeatedField<global::Nova.Client.ScriptParameter>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ScriptParameter> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ScriptParameter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ScriptParameter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ScriptParameter other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ScriptParameterValue : pb::IMessage<ScriptParameterValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ScriptParameterValue> _parser = new pb::MessageParser<ScriptParameterValue>(() => new ScriptParameterValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ScriptParameterValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[348]; }
    }

    [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 ScriptParameterValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ScriptParameterValue(ScriptParameterValue other) : this() {
      id_ = other.id_;
      commonData_ = other.commonData_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ScriptParameterValue Clone() {
      return new ScriptParameterValue(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CommonData" field.</summary>
    public const int CommonDataFieldNumber = 2;
    private int commonData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CommonData {
      get { return commonData_; }
      set {
        commonData_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ScriptParameterValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ScriptParameterValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CommonData != other.CommonData) 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 (CommonData != 0) hash ^= CommonData.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.WriteInt32(Id);
      }
      if (CommonData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CommonData);
      }
      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.WriteInt32(Id);
      }
      if (CommonData != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CommonData);
      }
      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.ComputeInt32Size(Id);
      }
      if (CommonData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CommonData);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ScriptParameterValue other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CommonData != 0) {
        CommonData = other.CommonData;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CommonData = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CommonData = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ScriptParameterValue : pb::IMessage<table_ScriptParameterValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ScriptParameterValue> _parser = new pb::MessageParser<table_ScriptParameterValue>(() => new table_ScriptParameterValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ScriptParameterValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[349]; }
    }

    [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 table_ScriptParameterValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ScriptParameterValue(table_ScriptParameterValue other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ScriptParameterValue Clone() {
      return new table_ScriptParameterValue(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ScriptParameterValue> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ScriptParameterValue.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ScriptParameterValue> list_ = new pbc::RepeatedField<global::Nova.Client.ScriptParameterValue>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ScriptParameterValue> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ScriptParameterValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ScriptParameterValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ScriptParameterValue other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Shield : pb::IMessage<Shield>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Shield> _parser = new pb::MessageParser<Shield>(() => new Shield());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Shield> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[350]; }
    }

    [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 Shield() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Shield(Shield other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      levelTypeData_ = other.levelTypeData_;
      levelData_ = other.levelData_;
      mainOrSupport_ = other.mainOrSupport_;
      bindEffect_ = other.bindEffect_;
      shieldTag1_ = other.shieldTag1_;
      shieldTag2_ = other.shieldTag2_;
      shieldTag3_ = other.shieldTag3_;
      timeSuperposition_ = other.timeSuperposition_;
      notRemove_ = other.notRemove_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Shield Clone() {
      return new Shield(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "levelTypeData" field.</summary>
    public const int LevelTypeDataFieldNumber = 3;
    private int levelTypeData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelTypeData {
      get { return levelTypeData_; }
      set {
        levelTypeData_ = value;
      }
    }

    /// <summary>Field number for the "LevelData" field.</summary>
    public const int LevelDataFieldNumber = 4;
    private int levelData_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelData {
      get { return levelData_; }
      set {
        levelData_ = value;
      }
    }

    /// <summary>Field number for the "MainOrSupport" field.</summary>
    public const int MainOrSupportFieldNumber = 5;
    private int mainOrSupport_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MainOrSupport {
      get { return mainOrSupport_; }
      set {
        mainOrSupport_ = value;
      }
    }

    /// <summary>Field number for the "BindEffect" field.</summary>
    public const int BindEffectFieldNumber = 6;
    private string bindEffect_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BindEffect {
      get { return bindEffect_; }
      set {
        bindEffect_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ShieldTag1" field.</summary>
    public const int ShieldTag1FieldNumber = 7;
    private int shieldTag1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShieldTag1 {
      get { return shieldTag1_; }
      set {
        shieldTag1_ = value;
      }
    }

    /// <summary>Field number for the "ShieldTag2" field.</summary>
    public const int ShieldTag2FieldNumber = 8;
    private int shieldTag2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShieldTag2 {
      get { return shieldTag2_; }
      set {
        shieldTag2_ = value;
      }
    }

    /// <summary>Field number for the "ShieldTag3" field.</summary>
    public const int ShieldTag3FieldNumber = 9;
    private int shieldTag3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShieldTag3 {
      get { return shieldTag3_; }
      set {
        shieldTag3_ = value;
      }
    }

    /// <summary>Field number for the "TimeSuperposition" field.</summary>
    public const int TimeSuperpositionFieldNumber = 10;
    private int timeSuperposition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TimeSuperposition {
      get { return timeSuperposition_; }
      set {
        timeSuperposition_ = value;
      }
    }

    /// <summary>Field number for the "NotRemove" field.</summary>
    public const int NotRemoveFieldNumber = 11;
    private bool notRemove_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool NotRemove {
      get { return notRemove_; }
      set {
        notRemove_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Shield);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Shield other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (LevelTypeData != other.LevelTypeData) return false;
      if (LevelData != other.LevelData) return false;
      if (MainOrSupport != other.MainOrSupport) return false;
      if (BindEffect != other.BindEffect) return false;
      if (ShieldTag1 != other.ShieldTag1) return false;
      if (ShieldTag2 != other.ShieldTag2) return false;
      if (ShieldTag3 != other.ShieldTag3) return false;
      if (TimeSuperposition != other.TimeSuperposition) return false;
      if (NotRemove != other.NotRemove) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (LevelTypeData != 0) hash ^= LevelTypeData.GetHashCode();
      if (LevelData != 0) hash ^= LevelData.GetHashCode();
      if (MainOrSupport != 0) hash ^= MainOrSupport.GetHashCode();
      if (BindEffect.Length != 0) hash ^= BindEffect.GetHashCode();
      if (ShieldTag1 != 0) hash ^= ShieldTag1.GetHashCode();
      if (ShieldTag2 != 0) hash ^= ShieldTag2.GetHashCode();
      if (ShieldTag3 != 0) hash ^= ShieldTag3.GetHashCode();
      if (TimeSuperposition != 0) hash ^= TimeSuperposition.GetHashCode();
      if (NotRemove != false) hash ^= NotRemove.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainOrSupport);
      }
      if (BindEffect.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(BindEffect);
      }
      if (ShieldTag1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ShieldTag1);
      }
      if (ShieldTag2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ShieldTag2);
      }
      if (ShieldTag3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(ShieldTag3);
      }
      if (TimeSuperposition != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(TimeSuperposition);
      }
      if (NotRemove != false) {
        output.WriteRawTag(88);
        output.WriteBool(NotRemove);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (LevelTypeData != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(LevelTypeData);
      }
      if (LevelData != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelData);
      }
      if (MainOrSupport != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MainOrSupport);
      }
      if (BindEffect.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(BindEffect);
      }
      if (ShieldTag1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ShieldTag1);
      }
      if (ShieldTag2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ShieldTag2);
      }
      if (ShieldTag3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(ShieldTag3);
      }
      if (TimeSuperposition != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(TimeSuperposition);
      }
      if (NotRemove != false) {
        output.WriteRawTag(88);
        output.WriteBool(NotRemove);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (LevelTypeData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelTypeData);
      }
      if (LevelData != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelData);
      }
      if (MainOrSupport != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MainOrSupport);
      }
      if (BindEffect.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BindEffect);
      }
      if (ShieldTag1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShieldTag1);
      }
      if (ShieldTag2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShieldTag2);
      }
      if (ShieldTag3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShieldTag3);
      }
      if (TimeSuperposition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TimeSuperposition);
      }
      if (NotRemove != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Shield other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.LevelTypeData != 0) {
        LevelTypeData = other.LevelTypeData;
      }
      if (other.LevelData != 0) {
        LevelData = other.LevelData;
      }
      if (other.MainOrSupport != 0) {
        MainOrSupport = other.MainOrSupport;
      }
      if (other.BindEffect.Length != 0) {
        BindEffect = other.BindEffect;
      }
      if (other.ShieldTag1 != 0) {
        ShieldTag1 = other.ShieldTag1;
      }
      if (other.ShieldTag2 != 0) {
        ShieldTag2 = other.ShieldTag2;
      }
      if (other.ShieldTag3 != 0) {
        ShieldTag3 = other.ShieldTag3;
      }
      if (other.TimeSuperposition != 0) {
        TimeSuperposition = other.TimeSuperposition;
      }
      if (other.NotRemove != false) {
        NotRemove = other.NotRemove;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 32: {
            LevelData = input.ReadInt32();
            break;
          }
          case 40: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 50: {
            BindEffect = input.ReadString();
            break;
          }
          case 56: {
            ShieldTag1 = input.ReadInt32();
            break;
          }
          case 64: {
            ShieldTag2 = input.ReadInt32();
            break;
          }
          case 72: {
            ShieldTag3 = input.ReadInt32();
            break;
          }
          case 80: {
            TimeSuperposition = input.ReadInt32();
            break;
          }
          case 88: {
            NotRemove = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            LevelTypeData = input.ReadInt32();
            break;
          }
          case 32: {
            LevelData = input.ReadInt32();
            break;
          }
          case 40: {
            MainOrSupport = input.ReadInt32();
            break;
          }
          case 50: {
            BindEffect = input.ReadString();
            break;
          }
          case 56: {
            ShieldTag1 = input.ReadInt32();
            break;
          }
          case 64: {
            ShieldTag2 = input.ReadInt32();
            break;
          }
          case 72: {
            ShieldTag3 = input.ReadInt32();
            break;
          }
          case 80: {
            TimeSuperposition = input.ReadInt32();
            break;
          }
          case 88: {
            NotRemove = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Shield : pb::IMessage<table_Shield>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Shield> _parser = new pb::MessageParser<table_Shield>(() => new table_Shield());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Shield> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[351]; }
    }

    [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 table_Shield() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Shield(table_Shield other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Shield Clone() {
      return new table_Shield(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Shield> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Shield.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Shield> list_ = new pbc::RepeatedField<global::Nova.Client.Shield>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Shield> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Shield);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Shield other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Shield other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class ShieldValue : pb::IMessage<ShieldValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<ShieldValue> _parser = new pb::MessageParser<ShieldValue>(() => new ShieldValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<ShieldValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[352]; }
    }

    [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 ShieldValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ShieldValue(ShieldValue other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      absorptionBase_ = other.absorptionBase_;
      referenceTarget_ = other.referenceTarget_;
      referenceAttrib_ = other.referenceAttrib_;
      referenceScale_ = other.referenceScale_;
      time_ = other.time_;
      shieldLaminatedNum_ = other.shieldLaminatedNum_;
      timeSuperposition_ = other.timeSuperposition_;
      notRemove_ = other.notRemove_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public ShieldValue Clone() {
      return new ShieldValue(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AbsorptionBase" field.</summary>
    public const int AbsorptionBaseFieldNumber = 3;
    private int absorptionBase_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AbsorptionBase {
      get { return absorptionBase_; }
      set {
        absorptionBase_ = value;
      }
    }

    /// <summary>Field number for the "ReferenceTarget" field.</summary>
    public const int ReferenceTargetFieldNumber = 4;
    private int referenceTarget_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ReferenceTarget {
      get { return referenceTarget_; }
      set {
        referenceTarget_ = value;
      }
    }

    /// <summary>Field number for the "ReferenceAttrib" field.</summary>
    public const int ReferenceAttribFieldNumber = 5;
    private int referenceAttrib_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ReferenceAttrib {
      get { return referenceAttrib_; }
      set {
        referenceAttrib_ = value;
      }
    }

    /// <summary>Field number for the "ReferenceScale" field.</summary>
    public const int ReferenceScaleFieldNumber = 6;
    private int referenceScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ReferenceScale {
      get { return referenceScale_; }
      set {
        referenceScale_ = value;
      }
    }

    /// <summary>Field number for the "Time" field.</summary>
    public const int TimeFieldNumber = 7;
    private int time_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Time {
      get { return time_; }
      set {
        time_ = value;
      }
    }

    /// <summary>Field number for the "ShieldLaminatedNum" field.</summary>
    public const int ShieldLaminatedNumFieldNumber = 8;
    private int shieldLaminatedNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShieldLaminatedNum {
      get { return shieldLaminatedNum_; }
      set {
        shieldLaminatedNum_ = value;
      }
    }

    /// <summary>Field number for the "TimeSuperposition" field.</summary>
    public const int TimeSuperpositionFieldNumber = 9;
    private int timeSuperposition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TimeSuperposition {
      get { return timeSuperposition_; }
      set {
        timeSuperposition_ = value;
      }
    }

    /// <summary>Field number for the "NotRemove" field.</summary>
    public const int NotRemoveFieldNumber = 10;
    private bool notRemove_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool NotRemove {
      get { return notRemove_; }
      set {
        notRemove_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as ShieldValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(ShieldValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (AbsorptionBase != other.AbsorptionBase) return false;
      if (ReferenceTarget != other.ReferenceTarget) return false;
      if (ReferenceAttrib != other.ReferenceAttrib) return false;
      if (ReferenceScale != other.ReferenceScale) return false;
      if (Time != other.Time) return false;
      if (ShieldLaminatedNum != other.ShieldLaminatedNum) return false;
      if (TimeSuperposition != other.TimeSuperposition) return false;
      if (NotRemove != other.NotRemove) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (AbsorptionBase != 0) hash ^= AbsorptionBase.GetHashCode();
      if (ReferenceTarget != 0) hash ^= ReferenceTarget.GetHashCode();
      if (ReferenceAttrib != 0) hash ^= ReferenceAttrib.GetHashCode();
      if (ReferenceScale != 0) hash ^= ReferenceScale.GetHashCode();
      if (Time != 0) hash ^= Time.GetHashCode();
      if (ShieldLaminatedNum != 0) hash ^= ShieldLaminatedNum.GetHashCode();
      if (TimeSuperposition != 0) hash ^= TimeSuperposition.GetHashCode();
      if (NotRemove != false) hash ^= NotRemove.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (AbsorptionBase != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AbsorptionBase);
      }
      if (ReferenceTarget != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ReferenceTarget);
      }
      if (ReferenceAttrib != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ReferenceAttrib);
      }
      if (ReferenceScale != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ReferenceScale);
      }
      if (Time != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Time);
      }
      if (ShieldLaminatedNum != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ShieldLaminatedNum);
      }
      if (TimeSuperposition != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TimeSuperposition);
      }
      if (NotRemove != false) {
        output.WriteRawTag(80);
        output.WriteBool(NotRemove);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (AbsorptionBase != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AbsorptionBase);
      }
      if (ReferenceTarget != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ReferenceTarget);
      }
      if (ReferenceAttrib != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ReferenceAttrib);
      }
      if (ReferenceScale != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(ReferenceScale);
      }
      if (Time != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Time);
      }
      if (ShieldLaminatedNum != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ShieldLaminatedNum);
      }
      if (TimeSuperposition != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(TimeSuperposition);
      }
      if (NotRemove != false) {
        output.WriteRawTag(80);
        output.WriteBool(NotRemove);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (AbsorptionBase != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AbsorptionBase);
      }
      if (ReferenceTarget != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReferenceTarget);
      }
      if (ReferenceAttrib != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReferenceAttrib);
      }
      if (ReferenceScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ReferenceScale);
      }
      if (Time != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Time);
      }
      if (ShieldLaminatedNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShieldLaminatedNum);
      }
      if (TimeSuperposition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TimeSuperposition);
      }
      if (NotRemove != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(ShieldValue other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.AbsorptionBase != 0) {
        AbsorptionBase = other.AbsorptionBase;
      }
      if (other.ReferenceTarget != 0) {
        ReferenceTarget = other.ReferenceTarget;
      }
      if (other.ReferenceAttrib != 0) {
        ReferenceAttrib = other.ReferenceAttrib;
      }
      if (other.ReferenceScale != 0) {
        ReferenceScale = other.ReferenceScale;
      }
      if (other.Time != 0) {
        Time = other.Time;
      }
      if (other.ShieldLaminatedNum != 0) {
        ShieldLaminatedNum = other.ShieldLaminatedNum;
      }
      if (other.TimeSuperposition != 0) {
        TimeSuperposition = other.TimeSuperposition;
      }
      if (other.NotRemove != false) {
        NotRemove = other.NotRemove;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            AbsorptionBase = input.ReadInt32();
            break;
          }
          case 32: {
            ReferenceTarget = input.ReadInt32();
            break;
          }
          case 40: {
            ReferenceAttrib = input.ReadInt32();
            break;
          }
          case 48: {
            ReferenceScale = input.ReadInt32();
            break;
          }
          case 56: {
            Time = input.ReadInt32();
            break;
          }
          case 64: {
            ShieldLaminatedNum = input.ReadInt32();
            break;
          }
          case 72: {
            TimeSuperposition = input.ReadInt32();
            break;
          }
          case 80: {
            NotRemove = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            AbsorptionBase = input.ReadInt32();
            break;
          }
          case 32: {
            ReferenceTarget = input.ReadInt32();
            break;
          }
          case 40: {
            ReferenceAttrib = input.ReadInt32();
            break;
          }
          case 48: {
            ReferenceScale = input.ReadInt32();
            break;
          }
          case 56: {
            Time = input.ReadInt32();
            break;
          }
          case 64: {
            ShieldLaminatedNum = input.ReadInt32();
            break;
          }
          case 72: {
            TimeSuperposition = input.ReadInt32();
            break;
          }
          case 80: {
            NotRemove = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_ShieldValue : pb::IMessage<table_ShieldValue>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_ShieldValue> _parser = new pb::MessageParser<table_ShieldValue>(() => new table_ShieldValue());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_ShieldValue> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[353]; }
    }

    [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 table_ShieldValue() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ShieldValue(table_ShieldValue other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_ShieldValue Clone() {
      return new table_ShieldValue(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.ShieldValue> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.ShieldValue.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.ShieldValue> list_ = new pbc::RepeatedField<global::Nova.Client.ShieldValue>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.ShieldValue> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_ShieldValue);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_ShieldValue other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_ShieldValue other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class SignIn : pb::IMessage<SignIn>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SignIn> _parser = new pb::MessageParser<SignIn>(() => new SignIn());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SignIn> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[354]; }
    }

    [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 SignIn() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SignIn(SignIn other) : this() {
      iD_ = other.iD_;
      group_ = other.group_;
      day_ = other.day_;
      itemId_ = other.itemId_;
      itemQty_ = other.itemQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SignIn Clone() {
      return new SignIn(this);
    }

    /// <summary>Field number for the "ID" field.</summary>
    public const int IDFieldNumber = 1;
    private int iD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ID {
      get { return iD_; }
      set {
        iD_ = value;
      }
    }

    /// <summary>Field number for the "Group" field.</summary>
    public const int GroupFieldNumber = 2;
    private int group_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Group {
      get { return group_; }
      set {
        group_ = value;
      }
    }

    /// <summary>Field number for the "Day" field.</summary>
    public const int DayFieldNumber = 3;
    private int day_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Day {
      get { return day_; }
      set {
        day_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 4;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty" field.</summary>
    public const int ItemQtyFieldNumber = 5;
    private int itemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty {
      get { return itemQty_; }
      set {
        itemQty_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SignIn);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SignIn other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (ID != other.ID) return false;
      if (Group != other.Group) return false;
      if (Day != other.Day) return false;
      if (ItemId != other.ItemId) return false;
      if (ItemQty != other.ItemQty) 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 (Group != 0) hash ^= Group.GetHashCode();
      if (Day != 0) hash ^= Day.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ItemQty != 0) hash ^= ItemQty.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.WriteInt32(ID);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (Day != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Day);
      }
      if (ItemId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemQty);
      }
      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.WriteInt32(ID);
      }
      if (Group != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Group);
      }
      if (Day != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Day);
      }
      if (ItemId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ItemQty);
      }
      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.ComputeInt32Size(ID);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (Day != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Day);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SignIn other) {
      if (other == null) {
        return;
      }
      if (other.ID != 0) {
        ID = other.ID;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      if (other.Day != 0) {
        Day = other.Day;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ItemQty != 0) {
        ItemQty = other.ItemQty;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            Day = input.ReadInt32();
            break;
          }
          case 32: {
            ItemId = input.ReadInt32();
            break;
          }
          case 40: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            ID = input.ReadInt32();
            break;
          }
          case 16: {
            Group = input.ReadInt32();
            break;
          }
          case 24: {
            Day = input.ReadInt32();
            break;
          }
          case 32: {
            ItemId = input.ReadInt32();
            break;
          }
          case 40: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_SignIn : pb::IMessage<table_SignIn>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_SignIn> _parser = new pb::MessageParser<table_SignIn>(() => new table_SignIn());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_SignIn> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[355]; }
    }

    [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 table_SignIn() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_SignIn(table_SignIn other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_SignIn Clone() {
      return new table_SignIn(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.SignIn> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.SignIn.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.SignIn> list_ = new pbc::RepeatedField<global::Nova.Client.SignIn>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.SignIn> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_SignIn);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_SignIn other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_SignIn other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Skill : pb::IMessage<Skill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Skill> _parser = new pb::MessageParser<Skill>(() => new Skill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Skill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[356]; }
    }

    [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 Skill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Skill(Skill other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      fCPath_ = other.fCPath_;
      type_ = other.type_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      skillCD_ = other.skillCD_;
      maxLevel_ = other.maxLevel_;
      relatedSkill_ = other.relatedSkill_;
      sectionAmount_ = other.sectionAmount_;
      useInterval_ = other.useInterval_;
      useTimeHint_ = other.useTimeHint_;
      ultraEnergy_ = other.ultraEnergy_;
      checkCDRestore_ = other.checkCDRestore_;
      forceRunFinish_ = other.forceRunFinish_;
      getEnergyLimit_ = other.getEnergyLimit_;
      param1_ = other.param1_;
      param2_ = other.param2_;
      param3_ = other.param3_;
      param4_ = other.param4_;
      param5_ = other.param5_;
      param6_ = other.param6_;
      param7_ = other.param7_;
      param8_ = other.param8_;
      param9_ = other.param9_;
      param10_ = other.param10_;
      isCleanSkillCD_ = other.isCleanSkillCD_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Skill Clone() {
      return new Skill(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FCPath" field.</summary>
    public const int FCPathFieldNumber = 3;
    private string fCPath_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FCPath {
      get { return fCPath_; }
      set {
        fCPath_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 4;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 5;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 6;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SkillCD" field.</summary>
    public const int SkillCDFieldNumber = 7;
    private int skillCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillCD {
      get { return skillCD_; }
      set {
        skillCD_ = value;
      }
    }

    /// <summary>Field number for the "MaxLevel" field.</summary>
    public const int MaxLevelFieldNumber = 8;
    private int maxLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxLevel {
      get { return maxLevel_; }
      set {
        maxLevel_ = value;
      }
    }

    /// <summary>Field number for the "RelatedSkill" field.</summary>
    public const int RelatedSkillFieldNumber = 9;
    private string relatedSkill_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RelatedSkill {
      get { return relatedSkill_; }
      set {
        relatedSkill_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SectionAmount" field.</summary>
    public const int SectionAmountFieldNumber = 10;
    private int sectionAmount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SectionAmount {
      get { return sectionAmount_; }
      set {
        sectionAmount_ = value;
      }
    }

    /// <summary>Field number for the "UseInterval" field.</summary>
    public const int UseIntervalFieldNumber = 11;
    private int useInterval_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UseInterval {
      get { return useInterval_; }
      set {
        useInterval_ = value;
      }
    }

    /// <summary>Field number for the "UseTimeHint" field.</summary>
    public const int UseTimeHintFieldNumber = 12;
    private int useTimeHint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UseTimeHint {
      get { return useTimeHint_; }
      set {
        useTimeHint_ = value;
      }
    }

    /// <summary>Field number for the "UltraEnergy" field.</summary>
    public const int UltraEnergyFieldNumber = 13;
    private int ultraEnergy_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UltraEnergy {
      get { return ultraEnergy_; }
      set {
        ultraEnergy_ = value;
      }
    }

    /// <summary>Field number for the "CheckCDRestore" field.</summary>
    public const int CheckCDRestoreFieldNumber = 14;
    private bool checkCDRestore_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool CheckCDRestore {
      get { return checkCDRestore_; }
      set {
        checkCDRestore_ = value;
      }
    }

    /// <summary>Field number for the "ForceRunFinish" field.</summary>
    public const int ForceRunFinishFieldNumber = 15;
    private bool forceRunFinish_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ForceRunFinish {
      get { return forceRunFinish_; }
      set {
        forceRunFinish_ = value;
      }
    }

    /// <summary>Field number for the "GetEnergyLimit" field.</summary>
    public const int GetEnergyLimitFieldNumber = 16;
    private int getEnergyLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GetEnergyLimit {
      get { return getEnergyLimit_; }
      set {
        getEnergyLimit_ = value;
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 17;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 18;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 19;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 20;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param5" field.</summary>
    public const int Param5FieldNumber = 21;
    private string param5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param5 {
      get { return param5_; }
      set {
        param5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param6" field.</summary>
    public const int Param6FieldNumber = 22;
    private string param6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param6 {
      get { return param6_; }
      set {
        param6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param7" field.</summary>
    public const int Param7FieldNumber = 23;
    private string param7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param7 {
      get { return param7_; }
      set {
        param7_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param8" field.</summary>
    public const int Param8FieldNumber = 24;
    private string param8_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param8 {
      get { return param8_; }
      set {
        param8_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param9" field.</summary>
    public const int Param9FieldNumber = 25;
    private string param9_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param9 {
      get { return param9_; }
      set {
        param9_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param10" field.</summary>
    public const int Param10FieldNumber = 26;
    private string param10_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param10 {
      get { return param10_; }
      set {
        param10_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsCleanSkillCD" field.</summary>
    public const int IsCleanSkillCDFieldNumber = 27;
    private bool isCleanSkillCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsCleanSkillCD {
      get { return isCleanSkillCD_; }
      set {
        isCleanSkillCD_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Skill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Skill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (FCPath != other.FCPath) return false;
      if (Type != other.Type) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (SkillCD != other.SkillCD) return false;
      if (MaxLevel != other.MaxLevel) return false;
      if (RelatedSkill != other.RelatedSkill) return false;
      if (SectionAmount != other.SectionAmount) return false;
      if (UseInterval != other.UseInterval) return false;
      if (UseTimeHint != other.UseTimeHint) return false;
      if (UltraEnergy != other.UltraEnergy) return false;
      if (CheckCDRestore != other.CheckCDRestore) return false;
      if (ForceRunFinish != other.ForceRunFinish) return false;
      if (GetEnergyLimit != other.GetEnergyLimit) return false;
      if (Param1 != other.Param1) return false;
      if (Param2 != other.Param2) return false;
      if (Param3 != other.Param3) return false;
      if (Param4 != other.Param4) return false;
      if (Param5 != other.Param5) return false;
      if (Param6 != other.Param6) return false;
      if (Param7 != other.Param7) return false;
      if (Param8 != other.Param8) return false;
      if (Param9 != other.Param9) return false;
      if (Param10 != other.Param10) return false;
      if (IsCleanSkillCD != other.IsCleanSkillCD) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (FCPath.Length != 0) hash ^= FCPath.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (SkillCD != 0) hash ^= SkillCD.GetHashCode();
      if (MaxLevel != 0) hash ^= MaxLevel.GetHashCode();
      if (RelatedSkill.Length != 0) hash ^= RelatedSkill.GetHashCode();
      if (SectionAmount != 0) hash ^= SectionAmount.GetHashCode();
      if (UseInterval != 0) hash ^= UseInterval.GetHashCode();
      if (UseTimeHint != 0) hash ^= UseTimeHint.GetHashCode();
      if (UltraEnergy != 0) hash ^= UltraEnergy.GetHashCode();
      if (CheckCDRestore != false) hash ^= CheckCDRestore.GetHashCode();
      if (ForceRunFinish != false) hash ^= ForceRunFinish.GetHashCode();
      if (GetEnergyLimit != 0) hash ^= GetEnergyLimit.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.GetHashCode();
      if (Param5.Length != 0) hash ^= Param5.GetHashCode();
      if (Param6.Length != 0) hash ^= Param6.GetHashCode();
      if (Param7.Length != 0) hash ^= Param7.GetHashCode();
      if (Param8.Length != 0) hash ^= Param8.GetHashCode();
      if (Param9.Length != 0) hash ^= Param9.GetHashCode();
      if (Param10.Length != 0) hash ^= Param10.GetHashCode();
      if (IsCleanSkillCD != false) hash ^= IsCleanSkillCD.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (FCPath.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FCPath);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Icon);
      }
      if (SkillCD != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SkillCD);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaxLevel);
      }
      if (RelatedSkill.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(RelatedSkill);
      }
      if (SectionAmount != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SectionAmount);
      }
      if (UseInterval != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UseInterval);
      }
      if (UseTimeHint != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(UseTimeHint);
      }
      if (UltraEnergy != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(UltraEnergy);
      }
      if (CheckCDRestore != false) {
        output.WriteRawTag(112);
        output.WriteBool(CheckCDRestore);
      }
      if (ForceRunFinish != false) {
        output.WriteRawTag(120);
        output.WriteBool(ForceRunFinish);
      }
      if (GetEnergyLimit != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(GetEnergyLimit);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Param10);
      }
      if (IsCleanSkillCD != false) {
        output.WriteRawTag(216, 1);
        output.WriteBool(IsCleanSkillCD);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (FCPath.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(FCPath);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Icon);
      }
      if (SkillCD != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SkillCD);
      }
      if (MaxLevel != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MaxLevel);
      }
      if (RelatedSkill.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(RelatedSkill);
      }
      if (SectionAmount != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(SectionAmount);
      }
      if (UseInterval != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UseInterval);
      }
      if (UseTimeHint != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(UseTimeHint);
      }
      if (UltraEnergy != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(UltraEnergy);
      }
      if (CheckCDRestore != false) {
        output.WriteRawTag(112);
        output.WriteBool(CheckCDRestore);
      }
      if (ForceRunFinish != false) {
        output.WriteRawTag(120);
        output.WriteBool(ForceRunFinish);
      }
      if (GetEnergyLimit != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(GetEnergyLimit);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(210, 1);
        output.WriteString(Param10);
      }
      if (IsCleanSkillCD != false) {
        output.WriteRawTag(216, 1);
        output.WriteBool(IsCleanSkillCD);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (FCPath.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FCPath);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (SkillCD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillCD);
      }
      if (MaxLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxLevel);
      }
      if (RelatedSkill.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RelatedSkill);
      }
      if (SectionAmount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SectionAmount);
      }
      if (UseInterval != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UseInterval);
      }
      if (UseTimeHint != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UseTimeHint);
      }
      if (UltraEnergy != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UltraEnergy);
      }
      if (CheckCDRestore != false) {
        size += 1 + 1;
      }
      if (ForceRunFinish != false) {
        size += 1 + 1;
      }
      if (GetEnergyLimit != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(GetEnergyLimit);
      }
      if (Param1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Param2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Param3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (Param5.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param5);
      }
      if (Param6.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param6);
      }
      if (Param7.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param7);
      }
      if (Param8.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param8);
      }
      if (Param9.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param9);
      }
      if (Param10.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param10);
      }
      if (IsCleanSkillCD != false) {
        size += 2 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Skill other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.FCPath.Length != 0) {
        FCPath = other.FCPath;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.SkillCD != 0) {
        SkillCD = other.SkillCD;
      }
      if (other.MaxLevel != 0) {
        MaxLevel = other.MaxLevel;
      }
      if (other.RelatedSkill.Length != 0) {
        RelatedSkill = other.RelatedSkill;
      }
      if (other.SectionAmount != 0) {
        SectionAmount = other.SectionAmount;
      }
      if (other.UseInterval != 0) {
        UseInterval = other.UseInterval;
      }
      if (other.UseTimeHint != 0) {
        UseTimeHint = other.UseTimeHint;
      }
      if (other.UltraEnergy != 0) {
        UltraEnergy = other.UltraEnergy;
      }
      if (other.CheckCDRestore != false) {
        CheckCDRestore = other.CheckCDRestore;
      }
      if (other.ForceRunFinish != false) {
        ForceRunFinish = other.ForceRunFinish;
      }
      if (other.GetEnergyLimit != 0) {
        GetEnergyLimit = other.GetEnergyLimit;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      if (other.Param5.Length != 0) {
        Param5 = other.Param5;
      }
      if (other.Param6.Length != 0) {
        Param6 = other.Param6;
      }
      if (other.Param7.Length != 0) {
        Param7 = other.Param7;
      }
      if (other.Param8.Length != 0) {
        Param8 = other.Param8;
      }
      if (other.Param9.Length != 0) {
        Param9 = other.Param9;
      }
      if (other.Param10.Length != 0) {
        Param10 = other.Param10;
      }
      if (other.IsCleanSkillCD != false) {
        IsCleanSkillCD = other.IsCleanSkillCD;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            FCPath = input.ReadString();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Icon = input.ReadString();
            break;
          }
          case 56: {
            SkillCD = input.ReadInt32();
            break;
          }
          case 64: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 74: {
            RelatedSkill = input.ReadString();
            break;
          }
          case 80: {
            SectionAmount = input.ReadInt32();
            break;
          }
          case 88: {
            UseInterval = input.ReadInt32();
            break;
          }
          case 96: {
            UseTimeHint = input.ReadInt32();
            break;
          }
          case 104: {
            UltraEnergy = input.ReadInt32();
            break;
          }
          case 112: {
            CheckCDRestore = input.ReadBool();
            break;
          }
          case 120: {
            ForceRunFinish = input.ReadBool();
            break;
          }
          case 128: {
            GetEnergyLimit = input.ReadInt32();
            break;
          }
          case 138: {
            Param1 = input.ReadString();
            break;
          }
          case 146: {
            Param2 = input.ReadString();
            break;
          }
          case 154: {
            Param3 = input.ReadString();
            break;
          }
          case 162: {
            Param4 = input.ReadString();
            break;
          }
          case 170: {
            Param5 = input.ReadString();
            break;
          }
          case 178: {
            Param6 = input.ReadString();
            break;
          }
          case 186: {
            Param7 = input.ReadString();
            break;
          }
          case 194: {
            Param8 = input.ReadString();
            break;
          }
          case 202: {
            Param9 = input.ReadString();
            break;
          }
          case 210: {
            Param10 = input.ReadString();
            break;
          }
          case 216: {
            IsCleanSkillCD = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            FCPath = input.ReadString();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Icon = input.ReadString();
            break;
          }
          case 56: {
            SkillCD = input.ReadInt32();
            break;
          }
          case 64: {
            MaxLevel = input.ReadInt32();
            break;
          }
          case 74: {
            RelatedSkill = input.ReadString();
            break;
          }
          case 80: {
            SectionAmount = input.ReadInt32();
            break;
          }
          case 88: {
            UseInterval = input.ReadInt32();
            break;
          }
          case 96: {
            UseTimeHint = input.ReadInt32();
            break;
          }
          case 104: {
            UltraEnergy = input.ReadInt32();
            break;
          }
          case 112: {
            CheckCDRestore = input.ReadBool();
            break;
          }
          case 120: {
            ForceRunFinish = input.ReadBool();
            break;
          }
          case 128: {
            GetEnergyLimit = input.ReadInt32();
            break;
          }
          case 138: {
            Param1 = input.ReadString();
            break;
          }
          case 146: {
            Param2 = input.ReadString();
            break;
          }
          case 154: {
            Param3 = input.ReadString();
            break;
          }
          case 162: {
            Param4 = input.ReadString();
            break;
          }
          case 170: {
            Param5 = input.ReadString();
            break;
          }
          case 178: {
            Param6 = input.ReadString();
            break;
          }
          case 186: {
            Param7 = input.ReadString();
            break;
          }
          case 194: {
            Param8 = input.ReadString();
            break;
          }
          case 202: {
            Param9 = input.ReadString();
            break;
          }
          case 210: {
            Param10 = input.ReadString();
            break;
          }
          case 216: {
            IsCleanSkillCD = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Skill : pb::IMessage<table_Skill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Skill> _parser = new pb::MessageParser<table_Skill>(() => new table_Skill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Skill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[357]; }
    }

    [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 table_Skill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Skill(table_Skill other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Skill Clone() {
      return new table_Skill(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Skill> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Skill.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Skill> list_ = new pbc::RepeatedField<global::Nova.Client.Skill>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Skill> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Skill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Skill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Skill other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class SkillDamage : pb::IMessage<SkillDamage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<SkillDamage> _parser = new pb::MessageParser<SkillDamage>(() => new SkillDamage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<SkillDamage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[358]; }
    }

    [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 SkillDamage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SkillDamage(SkillDamage other) : this() {
      id_ = other.id_;
      lVDamage_ = other.lVDamage_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public SkillDamage Clone() {
      return new SkillDamage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "LVDamage" field.</summary>
    public const int LVDamageFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_lVDamage_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> lVDamage_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> LVDamage {
      get { return lVDamage_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as SkillDamage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(SkillDamage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!lVDamage_.Equals(other.lVDamage_)) 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();
      hash ^= lVDamage_.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.WriteInt32(Id);
      }
      lVDamage_.WriteTo(output, _repeated_lVDamage_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      lVDamage_.WriteTo(ref output, _repeated_lVDamage_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      size += lVDamage_.CalculateSize(_repeated_lVDamage_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(SkillDamage other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      lVDamage_.Add(other.lVDamage_);
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            lVDamage_.AddEntriesFrom(input, _repeated_lVDamage_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            lVDamage_.AddEntriesFrom(ref input, _repeated_lVDamage_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_SkillDamage : pb::IMessage<table_SkillDamage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_SkillDamage> _parser = new pb::MessageParser<table_SkillDamage>(() => new table_SkillDamage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_SkillDamage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[359]; }
    }

    [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 table_SkillDamage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_SkillDamage(table_SkillDamage other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_SkillDamage Clone() {
      return new table_SkillDamage(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.SkillDamage> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.SkillDamage.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.SkillDamage> list_ = new pbc::RepeatedField<global::Nova.Client.SkillDamage>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.SkillDamage> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_SkillDamage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_SkillDamage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_SkillDamage other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTower : pb::IMessage<StarTower>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTower> _parser = new pb::MessageParser<StarTower>(() => new StarTower());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTower> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[360]; }
    }

    [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 StarTower() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTower(StarTower other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      groupId_ = other.groupId_;
      preConditions_ = other.preConditions_;
      previewMonsterGroupId_ = other.previewMonsterGroupId_;
      difficulty_ = other.difficulty_;
      valueDifficulty_ = other.valueDifficulty_;
      recommend_ = other.recommend_;
      currencyId_ = other.currencyId_;
      stageGroupIds_ = other.stageGroupIds_.Clone();
      floorNum_ = other.floorNum_.Clone();
      teamExpGroupId_ = other.teamExpGroupId_;
      eET_ = other.eET_.Clone();
      notEET_ = other.notEET_.Clone();
      episode_ = other.episode_;
      image_ = other.image_;
      nPCId_ = other.nPCId_;
      rewardPreview_ = other.rewardPreview_;
      shopNpc_ = other.shopNpc_;
      standShopNpc_ = other.standShopNpc_;
      upgradeNpc_ = other.upgradeNpc_;
      resqueNpc_ = other.resqueNpc_;
      dangerNpc_ = other.dangerNpc_;
      horrorNpc_ = other.horrorNpc_;
      dangerEndEvent_ = other.dangerEndEvent_;
      horrorEndEvent_ = other.horrorEndEvent_;
      destructibleObjectType_ = other.destructibleObjectType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTower Clone() {
      return new StarTower(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 4;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "PreConditions" field.</summary>
    public const int PreConditionsFieldNumber = 5;
    private string preConditions_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string PreConditions {
      get { return preConditions_; }
      set {
        preConditions_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "PreviewMonsterGroupId" field.</summary>
    public const int PreviewMonsterGroupIdFieldNumber = 6;
    private int previewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterGroupId {
      get { return previewMonsterGroupId_; }
      set {
        previewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 7;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "ValueDifficulty" field.</summary>
    public const int ValueDifficultyFieldNumber = 8;
    private int valueDifficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ValueDifficulty {
      get { return valueDifficulty_; }
      set {
        valueDifficulty_ = value;
      }
    }

    /// <summary>Field number for the "Recommend" field.</summary>
    public const int RecommendFieldNumber = 9;
    private int recommend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Recommend {
      get { return recommend_; }
      set {
        recommend_ = value;
      }
    }

    /// <summary>Field number for the "CurrencyId" field.</summary>
    public const int CurrencyIdFieldNumber = 10;
    private int currencyId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CurrencyId {
      get { return currencyId_; }
      set {
        currencyId_ = value;
      }
    }

    /// <summary>Field number for the "StageGroupIds" field.</summary>
    public const int StageGroupIdsFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_stageGroupIds_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> stageGroupIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> StageGroupIds {
      get { return stageGroupIds_; }
    }

    /// <summary>Field number for the "FloorNum" field.</summary>
    public const int FloorNumFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_floorNum_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> floorNum_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FloorNum {
      get { return floorNum_; }
    }

    /// <summary>Field number for the "TeamExpGroupId" field.</summary>
    public const int TeamExpGroupIdFieldNumber = 13;
    private int teamExpGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TeamExpGroupId {
      get { return teamExpGroupId_; }
      set {
        teamExpGroupId_ = value;
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_eET_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> eET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EET {
      get { return eET_; }
    }

    /// <summary>Field number for the "NotEET" field.</summary>
    public const int NotEETFieldNumber = 15;
    private static readonly pb::FieldCodec<int> _repeated_notEET_codec
        = pb::FieldCodec.ForInt32(122);
    private readonly pbc::RepeatedField<int> notEET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> NotEET {
      get { return notEET_; }
    }

    /// <summary>Field number for the "Episode" field.</summary>
    public const int EpisodeFieldNumber = 16;
    private string episode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode {
      get { return episode_; }
      set {
        episode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Image" field.</summary>
    public const int ImageFieldNumber = 17;
    private string image_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Image {
      get { return image_; }
      set {
        image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NPCId" field.</summary>
    public const int NPCIdFieldNumber = 18;
    private int nPCId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NPCId {
      get { return nPCId_; }
      set {
        nPCId_ = value;
      }
    }

    /// <summary>Field number for the "RewardPreview" field.</summary>
    public const int RewardPreviewFieldNumber = 19;
    private string rewardPreview_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardPreview {
      get { return rewardPreview_; }
      set {
        rewardPreview_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ShopNpc" field.</summary>
    public const int ShopNpcFieldNumber = 20;
    private int shopNpc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShopNpc {
      get { return shopNpc_; }
      set {
        shopNpc_ = value;
      }
    }

    /// <summary>Field number for the "StandShopNpc" field.</summary>
    public const int StandShopNpcFieldNumber = 21;
    private int standShopNpc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StandShopNpc {
      get { return standShopNpc_; }
      set {
        standShopNpc_ = value;
      }
    }

    /// <summary>Field number for the "UpgradeNpc" field.</summary>
    public const int UpgradeNpcFieldNumber = 22;
    private int upgradeNpc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UpgradeNpc {
      get { return upgradeNpc_; }
      set {
        upgradeNpc_ = value;
      }
    }

    /// <summary>Field number for the "ResqueNpc" field.</summary>
    public const int ResqueNpcFieldNumber = 23;
    private int resqueNpc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ResqueNpc {
      get { return resqueNpc_; }
      set {
        resqueNpc_ = value;
      }
    }

    /// <summary>Field number for the "DangerNpc" field.</summary>
    public const int DangerNpcFieldNumber = 24;
    private int dangerNpc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DangerNpc {
      get { return dangerNpc_; }
      set {
        dangerNpc_ = value;
      }
    }

    /// <summary>Field number for the "HorrorNpc" field.</summary>
    public const int HorrorNpcFieldNumber = 25;
    private int horrorNpc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HorrorNpc {
      get { return horrorNpc_; }
      set {
        horrorNpc_ = value;
      }
    }

    /// <summary>Field number for the "DangerEndEvent" field.</summary>
    public const int DangerEndEventFieldNumber = 26;
    private int dangerEndEvent_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DangerEndEvent {
      get { return dangerEndEvent_; }
      set {
        dangerEndEvent_ = value;
      }
    }

    /// <summary>Field number for the "HorrorEndEvent" field.</summary>
    public const int HorrorEndEventFieldNumber = 27;
    private int horrorEndEvent_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HorrorEndEvent {
      get { return horrorEndEvent_; }
      set {
        horrorEndEvent_ = value;
      }
    }

    /// <summary>Field number for the "DestructibleObjectType" field.</summary>
    public const int DestructibleObjectTypeFieldNumber = 28;
    private int destructibleObjectType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DestructibleObjectType {
      get { return destructibleObjectType_; }
      set {
        destructibleObjectType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTower);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTower other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (GroupId != other.GroupId) return false;
      if (PreConditions != other.PreConditions) return false;
      if (PreviewMonsterGroupId != other.PreviewMonsterGroupId) return false;
      if (Difficulty != other.Difficulty) return false;
      if (ValueDifficulty != other.ValueDifficulty) return false;
      if (Recommend != other.Recommend) return false;
      if (CurrencyId != other.CurrencyId) return false;
      if(!stageGroupIds_.Equals(other.stageGroupIds_)) return false;
      if(!floorNum_.Equals(other.floorNum_)) return false;
      if (TeamExpGroupId != other.TeamExpGroupId) return false;
      if(!eET_.Equals(other.eET_)) return false;
      if(!notEET_.Equals(other.notEET_)) return false;
      if (Episode != other.Episode) return false;
      if (Image != other.Image) return false;
      if (NPCId != other.NPCId) return false;
      if (RewardPreview != other.RewardPreview) return false;
      if (ShopNpc != other.ShopNpc) return false;
      if (StandShopNpc != other.StandShopNpc) return false;
      if (UpgradeNpc != other.UpgradeNpc) return false;
      if (ResqueNpc != other.ResqueNpc) return false;
      if (DangerNpc != other.DangerNpc) return false;
      if (HorrorNpc != other.HorrorNpc) return false;
      if (DangerEndEvent != other.DangerEndEvent) return false;
      if (HorrorEndEvent != other.HorrorEndEvent) return false;
      if (DestructibleObjectType != other.DestructibleObjectType) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (PreConditions.Length != 0) hash ^= PreConditions.GetHashCode();
      if (PreviewMonsterGroupId != 0) hash ^= PreviewMonsterGroupId.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (ValueDifficulty != 0) hash ^= ValueDifficulty.GetHashCode();
      if (Recommend != 0) hash ^= Recommend.GetHashCode();
      if (CurrencyId != 0) hash ^= CurrencyId.GetHashCode();
      hash ^= stageGroupIds_.GetHashCode();
      hash ^= floorNum_.GetHashCode();
      if (TeamExpGroupId != 0) hash ^= TeamExpGroupId.GetHashCode();
      hash ^= eET_.GetHashCode();
      hash ^= notEET_.GetHashCode();
      if (Episode.Length != 0) hash ^= Episode.GetHashCode();
      if (Image.Length != 0) hash ^= Image.GetHashCode();
      if (NPCId != 0) hash ^= NPCId.GetHashCode();
      if (RewardPreview.Length != 0) hash ^= RewardPreview.GetHashCode();
      if (ShopNpc != 0) hash ^= ShopNpc.GetHashCode();
      if (StandShopNpc != 0) hash ^= StandShopNpc.GetHashCode();
      if (UpgradeNpc != 0) hash ^= UpgradeNpc.GetHashCode();
      if (ResqueNpc != 0) hash ^= ResqueNpc.GetHashCode();
      if (DangerNpc != 0) hash ^= DangerNpc.GetHashCode();
      if (HorrorNpc != 0) hash ^= HorrorNpc.GetHashCode();
      if (DangerEndEvent != 0) hash ^= DangerEndEvent.GetHashCode();
      if (HorrorEndEvent != 0) hash ^= HorrorEndEvent.GetHashCode();
      if (DestructibleObjectType != 0) hash ^= DestructibleObjectType.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (GroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GroupId);
      }
      if (PreConditions.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(PreConditions);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Difficulty);
      }
      if (ValueDifficulty != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ValueDifficulty);
      }
      if (Recommend != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Recommend);
      }
      if (CurrencyId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(CurrencyId);
      }
      stageGroupIds_.WriteTo(output, _repeated_stageGroupIds_codec);
      floorNum_.WriteTo(output, _repeated_floorNum_codec);
      if (TeamExpGroupId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(TeamExpGroupId);
      }
      eET_.WriteTo(output, _repeated_eET_codec);
      notEET_.WriteTo(output, _repeated_notEET_codec);
      if (Episode.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Image);
      }
      if (NPCId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(NPCId);
      }
      if (RewardPreview.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(RewardPreview);
      }
      if (ShopNpc != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(ShopNpc);
      }
      if (StandShopNpc != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(StandShopNpc);
      }
      if (UpgradeNpc != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(UpgradeNpc);
      }
      if (ResqueNpc != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ResqueNpc);
      }
      if (DangerNpc != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(DangerNpc);
      }
      if (HorrorNpc != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(HorrorNpc);
      }
      if (DangerEndEvent != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(DangerEndEvent);
      }
      if (HorrorEndEvent != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(HorrorEndEvent);
      }
      if (DestructibleObjectType != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(DestructibleObjectType);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (GroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GroupId);
      }
      if (PreConditions.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(PreConditions);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Difficulty);
      }
      if (ValueDifficulty != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ValueDifficulty);
      }
      if (Recommend != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Recommend);
      }
      if (CurrencyId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(CurrencyId);
      }
      stageGroupIds_.WriteTo(ref output, _repeated_stageGroupIds_codec);
      floorNum_.WriteTo(ref output, _repeated_floorNum_codec);
      if (TeamExpGroupId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(TeamExpGroupId);
      }
      eET_.WriteTo(ref output, _repeated_eET_codec);
      notEET_.WriteTo(ref output, _repeated_notEET_codec);
      if (Episode.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Image);
      }
      if (NPCId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(NPCId);
      }
      if (RewardPreview.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(RewardPreview);
      }
      if (ShopNpc != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(ShopNpc);
      }
      if (StandShopNpc != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(StandShopNpc);
      }
      if (UpgradeNpc != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(UpgradeNpc);
      }
      if (ResqueNpc != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(ResqueNpc);
      }
      if (DangerNpc != 0) {
        output.WriteRawTag(192, 1);
        output.WriteInt32(DangerNpc);
      }
      if (HorrorNpc != 0) {
        output.WriteRawTag(200, 1);
        output.WriteInt32(HorrorNpc);
      }
      if (DangerEndEvent != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(DangerEndEvent);
      }
      if (HorrorEndEvent != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(HorrorEndEvent);
      }
      if (DestructibleObjectType != 0) {
        output.WriteRawTag(224, 1);
        output.WriteInt32(DestructibleObjectType);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (PreConditions.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(PreConditions);
      }
      if (PreviewMonsterGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterGroupId);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (ValueDifficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ValueDifficulty);
      }
      if (Recommend != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Recommend);
      }
      if (CurrencyId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CurrencyId);
      }
      size += stageGroupIds_.CalculateSize(_repeated_stageGroupIds_codec);
      size += floorNum_.CalculateSize(_repeated_floorNum_codec);
      if (TeamExpGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TeamExpGroupId);
      }
      size += eET_.CalculateSize(_repeated_eET_codec);
      size += notEET_.CalculateSize(_repeated_notEET_codec);
      if (Episode.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Episode);
      }
      if (Image.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Image);
      }
      if (NPCId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NPCId);
      }
      if (RewardPreview.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(RewardPreview);
      }
      if (ShopNpc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ShopNpc);
      }
      if (StandShopNpc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(StandShopNpc);
      }
      if (UpgradeNpc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(UpgradeNpc);
      }
      if (ResqueNpc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ResqueNpc);
      }
      if (DangerNpc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DangerNpc);
      }
      if (HorrorNpc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HorrorNpc);
      }
      if (DangerEndEvent != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DangerEndEvent);
      }
      if (HorrorEndEvent != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(HorrorEndEvent);
      }
      if (DestructibleObjectType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DestructibleObjectType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTower other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.PreConditions.Length != 0) {
        PreConditions = other.PreConditions;
      }
      if (other.PreviewMonsterGroupId != 0) {
        PreviewMonsterGroupId = other.PreviewMonsterGroupId;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.ValueDifficulty != 0) {
        ValueDifficulty = other.ValueDifficulty;
      }
      if (other.Recommend != 0) {
        Recommend = other.Recommend;
      }
      if (other.CurrencyId != 0) {
        CurrencyId = other.CurrencyId;
      }
      stageGroupIds_.Add(other.stageGroupIds_);
      floorNum_.Add(other.floorNum_);
      if (other.TeamExpGroupId != 0) {
        TeamExpGroupId = other.TeamExpGroupId;
      }
      eET_.Add(other.eET_);
      notEET_.Add(other.notEET_);
      if (other.Episode.Length != 0) {
        Episode = other.Episode;
      }
      if (other.Image.Length != 0) {
        Image = other.Image;
      }
      if (other.NPCId != 0) {
        NPCId = other.NPCId;
      }
      if (other.RewardPreview.Length != 0) {
        RewardPreview = other.RewardPreview;
      }
      if (other.ShopNpc != 0) {
        ShopNpc = other.ShopNpc;
      }
      if (other.StandShopNpc != 0) {
        StandShopNpc = other.StandShopNpc;
      }
      if (other.UpgradeNpc != 0) {
        UpgradeNpc = other.UpgradeNpc;
      }
      if (other.ResqueNpc != 0) {
        ResqueNpc = other.ResqueNpc;
      }
      if (other.DangerNpc != 0) {
        DangerNpc = other.DangerNpc;
      }
      if (other.HorrorNpc != 0) {
        HorrorNpc = other.HorrorNpc;
      }
      if (other.DangerEndEvent != 0) {
        DangerEndEvent = other.DangerEndEvent;
      }
      if (other.HorrorEndEvent != 0) {
        HorrorEndEvent = other.HorrorEndEvent;
      }
      if (other.DestructibleObjectType != 0) {
        DestructibleObjectType = other.DestructibleObjectType;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            GroupId = input.ReadInt32();
            break;
          }
          case 42: {
            PreConditions = input.ReadString();
            break;
          }
          case 48: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 56: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 64: {
            ValueDifficulty = input.ReadInt32();
            break;
          }
          case 72: {
            Recommend = input.ReadInt32();
            break;
          }
          case 80: {
            CurrencyId = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            stageGroupIds_.AddEntriesFrom(input, _repeated_stageGroupIds_codec);
            break;
          }
          case 98:
          case 96: {
            floorNum_.AddEntriesFrom(input, _repeated_floorNum_codec);
            break;
          }
          case 104: {
            TeamExpGroupId = input.ReadInt32();
            break;
          }
          case 114:
          case 112: {
            eET_.AddEntriesFrom(input, _repeated_eET_codec);
            break;
          }
          case 122:
          case 120: {
            notEET_.AddEntriesFrom(input, _repeated_notEET_codec);
            break;
          }
          case 130: {
            Episode = input.ReadString();
            break;
          }
          case 138: {
            Image = input.ReadString();
            break;
          }
          case 144: {
            NPCId = input.ReadInt32();
            break;
          }
          case 154: {
            RewardPreview = input.ReadString();
            break;
          }
          case 160: {
            ShopNpc = input.ReadInt32();
            break;
          }
          case 168: {
            StandShopNpc = input.ReadInt32();
            break;
          }
          case 176: {
            UpgradeNpc = input.ReadInt32();
            break;
          }
          case 184: {
            ResqueNpc = input.ReadInt32();
            break;
          }
          case 192: {
            DangerNpc = input.ReadInt32();
            break;
          }
          case 200: {
            HorrorNpc = input.ReadInt32();
            break;
          }
          case 208: {
            DangerEndEvent = input.ReadInt32();
            break;
          }
          case 216: {
            HorrorEndEvent = input.ReadInt32();
            break;
          }
          case 224: {
            DestructibleObjectType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            GroupId = input.ReadInt32();
            break;
          }
          case 42: {
            PreConditions = input.ReadString();
            break;
          }
          case 48: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 56: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 64: {
            ValueDifficulty = input.ReadInt32();
            break;
          }
          case 72: {
            Recommend = input.ReadInt32();
            break;
          }
          case 80: {
            CurrencyId = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            stageGroupIds_.AddEntriesFrom(ref input, _repeated_stageGroupIds_codec);
            break;
          }
          case 98:
          case 96: {
            floorNum_.AddEntriesFrom(ref input, _repeated_floorNum_codec);
            break;
          }
          case 104: {
            TeamExpGroupId = input.ReadInt32();
            break;
          }
          case 114:
          case 112: {
            eET_.AddEntriesFrom(ref input, _repeated_eET_codec);
            break;
          }
          case 122:
          case 120: {
            notEET_.AddEntriesFrom(ref input, _repeated_notEET_codec);
            break;
          }
          case 130: {
            Episode = input.ReadString();
            break;
          }
          case 138: {
            Image = input.ReadString();
            break;
          }
          case 144: {
            NPCId = input.ReadInt32();
            break;
          }
          case 154: {
            RewardPreview = input.ReadString();
            break;
          }
          case 160: {
            ShopNpc = input.ReadInt32();
            break;
          }
          case 168: {
            StandShopNpc = input.ReadInt32();
            break;
          }
          case 176: {
            UpgradeNpc = input.ReadInt32();
            break;
          }
          case 184: {
            ResqueNpc = input.ReadInt32();
            break;
          }
          case 192: {
            DangerNpc = input.ReadInt32();
            break;
          }
          case 200: {
            HorrorNpc = input.ReadInt32();
            break;
          }
          case 208: {
            DangerEndEvent = input.ReadInt32();
            break;
          }
          case 216: {
            HorrorEndEvent = input.ReadInt32();
            break;
          }
          case 224: {
            DestructibleObjectType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTower : pb::IMessage<table_StarTower>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTower> _parser = new pb::MessageParser<table_StarTower>(() => new table_StarTower());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTower> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[361]; }
    }

    [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 table_StarTower() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTower(table_StarTower other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTower Clone() {
      return new table_StarTower(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTower> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTower.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTower> list_ = new pbc::RepeatedField<global::Nova.Client.StarTower>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTower> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTower);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTower other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTower other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBattleThreshold : pb::IMessage<StarTowerBattleThreshold>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBattleThreshold> _parser = new pb::MessageParser<StarTowerBattleThreshold>(() => new StarTowerBattleThreshold());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBattleThreshold> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[362]; }
    }

    [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 StarTowerBattleThreshold() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBattleThreshold(StarTowerBattleThreshold other) : this() {
      missionId_ = other.missionId_;
      version_ = other.version_;
      fromSrcAtk_ = other.fromSrcAtk_;
      fromPerkIntensityRatio_ = other.fromPerkIntensityRatio_;
      fromSlotDmgRatio_ = other.fromSlotDmgRatio_;
      fromEE_ = other.fromEE_;
      fromGenDmgRatio_ = other.fromGenDmgRatio_;
      fromDmgPlus_ = other.fromDmgPlus_;
      fromCritRatio_ = other.fromCritRatio_;
      fromFinalDmgRatio_ = other.fromFinalDmgRatio_;
      fromFinalDmgPlus_ = other.fromFinalDmgPlus_;
      toErAmend_ = other.toErAmend_;
      toDefAmend_ = other.toDefAmend_;
      toRcdSlotDmgRatio_ = other.toRcdSlotDmgRatio_;
      toEERCD_ = other.toEERCD_;
      toGenDmgRcdRatio_ = other.toGenDmgRcdRatio_;
      toDmgPlusRcd_ = other.toDmgPlusRcd_;
      dmg_ = other.dmg_;
      critRate_ = other.critRate_;
      hp_ = other.hp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBattleThreshold Clone() {
      return new StarTowerBattleThreshold(this);
    }

    /// <summary>Field number for the "MissionId" field.</summary>
    public const int MissionIdFieldNumber = 1;
    private int missionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MissionId {
      get { return missionId_; }
      set {
        missionId_ = value;
      }
    }

    /// <summary>Field number for the "Version" field.</summary>
    public const int VersionFieldNumber = 2;
    private int version_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Version {
      get { return version_; }
      set {
        version_ = value;
      }
    }

    /// <summary>Field number for the "fromSrcAtk" field.</summary>
    public const int FromSrcAtkFieldNumber = 3;
    private int fromSrcAtk_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromSrcAtk {
      get { return fromSrcAtk_; }
      set {
        fromSrcAtk_ = value;
      }
    }

    /// <summary>Field number for the "fromPerkIntensityRatio" field.</summary>
    public const int FromPerkIntensityRatioFieldNumber = 4;
    private int fromPerkIntensityRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromPerkIntensityRatio {
      get { return fromPerkIntensityRatio_; }
      set {
        fromPerkIntensityRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromSlotDmgRatio" field.</summary>
    public const int FromSlotDmgRatioFieldNumber = 5;
    private int fromSlotDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromSlotDmgRatio {
      get { return fromSlotDmgRatio_; }
      set {
        fromSlotDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromEE" field.</summary>
    public const int FromEEFieldNumber = 6;
    private int fromEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromEE {
      get { return fromEE_; }
      set {
        fromEE_ = value;
      }
    }

    /// <summary>Field number for the "fromGenDmgRatio" field.</summary>
    public const int FromGenDmgRatioFieldNumber = 7;
    private int fromGenDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromGenDmgRatio {
      get { return fromGenDmgRatio_; }
      set {
        fromGenDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromDmgPlus" field.</summary>
    public const int FromDmgPlusFieldNumber = 8;
    private int fromDmgPlus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromDmgPlus {
      get { return fromDmgPlus_; }
      set {
        fromDmgPlus_ = value;
      }
    }

    /// <summary>Field number for the "fromCritRatio" field.</summary>
    public const int FromCritRatioFieldNumber = 9;
    private int fromCritRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromCritRatio {
      get { return fromCritRatio_; }
      set {
        fromCritRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromFinalDmgRatio" field.</summary>
    public const int FromFinalDmgRatioFieldNumber = 10;
    private int fromFinalDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromFinalDmgRatio {
      get { return fromFinalDmgRatio_; }
      set {
        fromFinalDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromFinalDmgPlus" field.</summary>
    public const int FromFinalDmgPlusFieldNumber = 11;
    private int fromFinalDmgPlus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromFinalDmgPlus {
      get { return fromFinalDmgPlus_; }
      set {
        fromFinalDmgPlus_ = value;
      }
    }

    /// <summary>Field number for the "toErAmend" field.</summary>
    public const int ToErAmendFieldNumber = 12;
    private int toErAmend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToErAmend {
      get { return toErAmend_; }
      set {
        toErAmend_ = value;
      }
    }

    /// <summary>Field number for the "toDefAmend" field.</summary>
    public const int ToDefAmendFieldNumber = 13;
    private int toDefAmend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToDefAmend {
      get { return toDefAmend_; }
      set {
        toDefAmend_ = value;
      }
    }

    /// <summary>Field number for the "toRcdSlotDmgRatio" field.</summary>
    public const int ToRcdSlotDmgRatioFieldNumber = 14;
    private int toRcdSlotDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToRcdSlotDmgRatio {
      get { return toRcdSlotDmgRatio_; }
      set {
        toRcdSlotDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "toEERCD" field.</summary>
    public const int ToEERCDFieldNumber = 15;
    private int toEERCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToEERCD {
      get { return toEERCD_; }
      set {
        toEERCD_ = value;
      }
    }

    /// <summary>Field number for the "toGenDmgRcdRatio" field.</summary>
    public const int ToGenDmgRcdRatioFieldNumber = 16;
    private int toGenDmgRcdRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToGenDmgRcdRatio {
      get { return toGenDmgRcdRatio_; }
      set {
        toGenDmgRcdRatio_ = value;
      }
    }

    /// <summary>Field number for the "toDmgPlusRcd" field.</summary>
    public const int ToDmgPlusRcdFieldNumber = 17;
    private int toDmgPlusRcd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToDmgPlusRcd {
      get { return toDmgPlusRcd_; }
      set {
        toDmgPlusRcd_ = value;
      }
    }

    /// <summary>Field number for the "Dmg" field.</summary>
    public const int DmgFieldNumber = 18;
    private int dmg_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Dmg {
      get { return dmg_; }
      set {
        dmg_ = value;
      }
    }

    /// <summary>Field number for the "CritRate" field.</summary>
    public const int CritRateFieldNumber = 19;
    private int critRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CritRate {
      get { return critRate_; }
      set {
        critRate_ = value;
      }
    }

    /// <summary>Field number for the "Hp" field.</summary>
    public const int HpFieldNumber = 20;
    private int hp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Hp {
      get { return hp_; }
      set {
        hp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerBattleThreshold);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBattleThreshold other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MissionId != other.MissionId) return false;
      if (Version != other.Version) return false;
      if (FromSrcAtk != other.FromSrcAtk) return false;
      if (FromPerkIntensityRatio != other.FromPerkIntensityRatio) return false;
      if (FromSlotDmgRatio != other.FromSlotDmgRatio) return false;
      if (FromEE != other.FromEE) return false;
      if (FromGenDmgRatio != other.FromGenDmgRatio) return false;
      if (FromDmgPlus != other.FromDmgPlus) return false;
      if (FromCritRatio != other.FromCritRatio) return false;
      if (FromFinalDmgRatio != other.FromFinalDmgRatio) return false;
      if (FromFinalDmgPlus != other.FromFinalDmgPlus) return false;
      if (ToErAmend != other.ToErAmend) return false;
      if (ToDefAmend != other.ToDefAmend) return false;
      if (ToRcdSlotDmgRatio != other.ToRcdSlotDmgRatio) return false;
      if (ToEERCD != other.ToEERCD) return false;
      if (ToGenDmgRcdRatio != other.ToGenDmgRcdRatio) return false;
      if (ToDmgPlusRcd != other.ToDmgPlusRcd) return false;
      if (Dmg != other.Dmg) return false;
      if (CritRate != other.CritRate) return false;
      if (Hp != other.Hp) 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 (MissionId != 0) hash ^= MissionId.GetHashCode();
      if (Version != 0) hash ^= Version.GetHashCode();
      if (FromSrcAtk != 0) hash ^= FromSrcAtk.GetHashCode();
      if (FromPerkIntensityRatio != 0) hash ^= FromPerkIntensityRatio.GetHashCode();
      if (FromSlotDmgRatio != 0) hash ^= FromSlotDmgRatio.GetHashCode();
      if (FromEE != 0) hash ^= FromEE.GetHashCode();
      if (FromGenDmgRatio != 0) hash ^= FromGenDmgRatio.GetHashCode();
      if (FromDmgPlus != 0) hash ^= FromDmgPlus.GetHashCode();
      if (FromCritRatio != 0) hash ^= FromCritRatio.GetHashCode();
      if (FromFinalDmgRatio != 0) hash ^= FromFinalDmgRatio.GetHashCode();
      if (FromFinalDmgPlus != 0) hash ^= FromFinalDmgPlus.GetHashCode();
      if (ToErAmend != 0) hash ^= ToErAmend.GetHashCode();
      if (ToDefAmend != 0) hash ^= ToDefAmend.GetHashCode();
      if (ToRcdSlotDmgRatio != 0) hash ^= ToRcdSlotDmgRatio.GetHashCode();
      if (ToEERCD != 0) hash ^= ToEERCD.GetHashCode();
      if (ToGenDmgRcdRatio != 0) hash ^= ToGenDmgRcdRatio.GetHashCode();
      if (ToDmgPlusRcd != 0) hash ^= ToDmgPlusRcd.GetHashCode();
      if (Dmg != 0) hash ^= Dmg.GetHashCode();
      if (CritRate != 0) hash ^= CritRate.GetHashCode();
      if (Hp != 0) hash ^= Hp.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 (MissionId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MissionId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Version);
      }
      if (FromSrcAtk != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ToErAmend);
      }
      if (ToDefAmend != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Dmg);
      }
      if (CritRate != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(CritRate);
      }
      if (Hp != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Hp);
      }
      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 (MissionId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MissionId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Version);
      }
      if (FromSrcAtk != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ToErAmend);
      }
      if (ToDefAmend != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Dmg);
      }
      if (CritRate != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(CritRate);
      }
      if (Hp != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Hp);
      }
      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 (MissionId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MissionId);
      }
      if (Version != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version);
      }
      if (FromSrcAtk != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToErAmend);
      }
      if (ToDefAmend != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Dmg);
      }
      if (CritRate != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CritRate);
      }
      if (Hp != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Hp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBattleThreshold other) {
      if (other == null) {
        return;
      }
      if (other.MissionId != 0) {
        MissionId = other.MissionId;
      }
      if (other.Version != 0) {
        Version = other.Version;
      }
      if (other.FromSrcAtk != 0) {
        FromSrcAtk = other.FromSrcAtk;
      }
      if (other.FromPerkIntensityRatio != 0) {
        FromPerkIntensityRatio = other.FromPerkIntensityRatio;
      }
      if (other.FromSlotDmgRatio != 0) {
        FromSlotDmgRatio = other.FromSlotDmgRatio;
      }
      if (other.FromEE != 0) {
        FromEE = other.FromEE;
      }
      if (other.FromGenDmgRatio != 0) {
        FromGenDmgRatio = other.FromGenDmgRatio;
      }
      if (other.FromDmgPlus != 0) {
        FromDmgPlus = other.FromDmgPlus;
      }
      if (other.FromCritRatio != 0) {
        FromCritRatio = other.FromCritRatio;
      }
      if (other.FromFinalDmgRatio != 0) {
        FromFinalDmgRatio = other.FromFinalDmgRatio;
      }
      if (other.FromFinalDmgPlus != 0) {
        FromFinalDmgPlus = other.FromFinalDmgPlus;
      }
      if (other.ToErAmend != 0) {
        ToErAmend = other.ToErAmend;
      }
      if (other.ToDefAmend != 0) {
        ToDefAmend = other.ToDefAmend;
      }
      if (other.ToRcdSlotDmgRatio != 0) {
        ToRcdSlotDmgRatio = other.ToRcdSlotDmgRatio;
      }
      if (other.ToEERCD != 0) {
        ToEERCD = other.ToEERCD;
      }
      if (other.ToGenDmgRcdRatio != 0) {
        ToGenDmgRcdRatio = other.ToGenDmgRcdRatio;
      }
      if (other.ToDmgPlusRcd != 0) {
        ToDmgPlusRcd = other.ToDmgPlusRcd;
      }
      if (other.Dmg != 0) {
        Dmg = other.Dmg;
      }
      if (other.CritRate != 0) {
        CritRate = other.CritRate;
      }
      if (other.Hp != 0) {
        Hp = other.Hp;
      }
      _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: {
            MissionId = input.ReadInt32();
            break;
          }
          case 16: {
            Version = input.ReadInt32();
            break;
          }
          case 24: {
            FromSrcAtk = input.ReadInt32();
            break;
          }
          case 32: {
            FromPerkIntensityRatio = input.ReadInt32();
            break;
          }
          case 40: {
            FromSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 48: {
            FromEE = input.ReadInt32();
            break;
          }
          case 56: {
            FromGenDmgRatio = input.ReadInt32();
            break;
          }
          case 64: {
            FromDmgPlus = input.ReadInt32();
            break;
          }
          case 72: {
            FromCritRatio = input.ReadInt32();
            break;
          }
          case 80: {
            FromFinalDmgRatio = input.ReadInt32();
            break;
          }
          case 88: {
            FromFinalDmgPlus = input.ReadInt32();
            break;
          }
          case 96: {
            ToErAmend = input.ReadInt32();
            break;
          }
          case 104: {
            ToDefAmend = input.ReadInt32();
            break;
          }
          case 112: {
            ToRcdSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 120: {
            ToEERCD = input.ReadInt32();
            break;
          }
          case 128: {
            ToGenDmgRcdRatio = input.ReadInt32();
            break;
          }
          case 136: {
            ToDmgPlusRcd = input.ReadInt32();
            break;
          }
          case 144: {
            Dmg = input.ReadInt32();
            break;
          }
          case 152: {
            CritRate = input.ReadInt32();
            break;
          }
          case 160: {
            Hp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            MissionId = input.ReadInt32();
            break;
          }
          case 16: {
            Version = input.ReadInt32();
            break;
          }
          case 24: {
            FromSrcAtk = input.ReadInt32();
            break;
          }
          case 32: {
            FromPerkIntensityRatio = input.ReadInt32();
            break;
          }
          case 40: {
            FromSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 48: {
            FromEE = input.ReadInt32();
            break;
          }
          case 56: {
            FromGenDmgRatio = input.ReadInt32();
            break;
          }
          case 64: {
            FromDmgPlus = input.ReadInt32();
            break;
          }
          case 72: {
            FromCritRatio = input.ReadInt32();
            break;
          }
          case 80: {
            FromFinalDmgRatio = input.ReadInt32();
            break;
          }
          case 88: {
            FromFinalDmgPlus = input.ReadInt32();
            break;
          }
          case 96: {
            ToErAmend = input.ReadInt32();
            break;
          }
          case 104: {
            ToDefAmend = input.ReadInt32();
            break;
          }
          case 112: {
            ToRcdSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 120: {
            ToEERCD = input.ReadInt32();
            break;
          }
          case 128: {
            ToGenDmgRcdRatio = input.ReadInt32();
            break;
          }
          case 136: {
            ToDmgPlusRcd = input.ReadInt32();
            break;
          }
          case 144: {
            Dmg = input.ReadInt32();
            break;
          }
          case 152: {
            CritRate = input.ReadInt32();
            break;
          }
          case 160: {
            Hp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBattleThreshold : pb::IMessage<table_StarTowerBattleThreshold>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBattleThreshold> _parser = new pb::MessageParser<table_StarTowerBattleThreshold>(() => new table_StarTowerBattleThreshold());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBattleThreshold> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[363]; }
    }

    [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 table_StarTowerBattleThreshold() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBattleThreshold(table_StarTowerBattleThreshold other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBattleThreshold Clone() {
      return new table_StarTowerBattleThreshold(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBattleThreshold> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBattleThreshold.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBattleThreshold> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBattleThreshold>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBattleThreshold> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBattleThreshold);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBattleThreshold other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBattleThreshold other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBookEntrance : pb::IMessage<StarTowerBookEntrance>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBookEntrance> _parser = new pb::MessageParser<StarTowerBookEntrance>(() => new StarTowerBookEntrance());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBookEntrance> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[364]; }
    }

    [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 StarTowerBookEntrance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookEntrance(StarTowerBookEntrance other) : this() {
      id_ = other.id_;
      icon_ = other.icon_;
      position_ = other.position_;
      desc_ = other.desc_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookEntrance Clone() {
      return new StarTowerBookEntrance(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 2;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Position" field.</summary>
    public const int PositionFieldNumber = 3;
    private string position_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Position {
      get { return position_; }
      set {
        position_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = 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 StarTowerBookEntrance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBookEntrance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Icon != other.Icon) return false;
      if (Position != other.Position) return false;
      if (Desc != other.Desc) 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 (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Position.Length != 0) hash ^= Position.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.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.WriteInt32(Id);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      if (Position.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Position);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      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.WriteInt32(Id);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Icon);
      }
      if (Position.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Position);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      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.ComputeInt32Size(Id);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Position.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Position);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBookEntrance other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Position.Length != 0) {
        Position = other.Position;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
          case 26: {
            Position = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Icon = input.ReadString();
            break;
          }
          case 26: {
            Position = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBookEntrance : pb::IMessage<table_StarTowerBookEntrance>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBookEntrance> _parser = new pb::MessageParser<table_StarTowerBookEntrance>(() => new table_StarTowerBookEntrance());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBookEntrance> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[365]; }
    }

    [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 table_StarTowerBookEntrance() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookEntrance(table_StarTowerBookEntrance other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookEntrance Clone() {
      return new table_StarTowerBookEntrance(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBookEntrance> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBookEntrance.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBookEntrance> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBookEntrance>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBookEntrance> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBookEntrance);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBookEntrance other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBookEntrance other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBookEventReward : pb::IMessage<StarTowerBookEventReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBookEventReward> _parser = new pb::MessageParser<StarTowerBookEventReward>(() => new StarTowerBookEventReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBookEventReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[366]; }
    }

    [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 StarTowerBookEventReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookEventReward(StarTowerBookEventReward other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      story_ = other.story_;
      nPCId_ = other.nPCId_;
      sort_ = other.sort_;
      source_ = other.source_;
      itemId_ = other.itemId_;
      itemQty_ = other.itemQty_;
      isBanned_ = other.isBanned_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookEventReward Clone() {
      return new StarTowerBookEventReward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Story" field.</summary>
    public const int StoryFieldNumber = 3;
    private string story_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Story {
      get { return story_; }
      set {
        story_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NPCId" field.</summary>
    public const int NPCIdFieldNumber = 4;
    private int nPCId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NPCId {
      get { return nPCId_; }
      set {
        nPCId_ = value;
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 5;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "Source" field.</summary>
    public const int SourceFieldNumber = 6;
    private string source_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Source {
      get { return source_; }
      set {
        source_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 7;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty" field.</summary>
    public const int ItemQtyFieldNumber = 8;
    private int itemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty {
      get { return itemQty_; }
      set {
        itemQty_ = value;
      }
    }

    /// <summary>Field number for the "IsBanned" field.</summary>
    public const int IsBannedFieldNumber = 9;
    private bool isBanned_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsBanned {
      get { return isBanned_; }
      set {
        isBanned_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerBookEventReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBookEventReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Story != other.Story) return false;
      if (NPCId != other.NPCId) return false;
      if (Sort != other.Sort) return false;
      if (Source != other.Source) return false;
      if (ItemId != other.ItemId) return false;
      if (ItemQty != other.ItemQty) return false;
      if (IsBanned != other.IsBanned) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Story.Length != 0) hash ^= Story.GetHashCode();
      if (NPCId != 0) hash ^= NPCId.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (Source.Length != 0) hash ^= Source.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ItemQty != 0) hash ^= ItemQty.GetHashCode();
      if (IsBanned != false) hash ^= IsBanned.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Story.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Story);
      }
      if (NPCId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NPCId);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Source);
      }
      if (ItemId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ItemQty);
      }
      if (IsBanned != false) {
        output.WriteRawTag(72);
        output.WriteBool(IsBanned);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Story.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Story);
      }
      if (NPCId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NPCId);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Source);
      }
      if (ItemId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ItemQty);
      }
      if (IsBanned != false) {
        output.WriteRawTag(72);
        output.WriteBool(IsBanned);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Story.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Story);
      }
      if (NPCId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NPCId);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (Source.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Source);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemQty);
      }
      if (IsBanned != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBookEventReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Story.Length != 0) {
        Story = other.Story;
      }
      if (other.NPCId != 0) {
        NPCId = other.NPCId;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.Source.Length != 0) {
        Source = other.Source;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ItemQty != 0) {
        ItemQty = other.ItemQty;
      }
      if (other.IsBanned != false) {
        IsBanned = other.IsBanned;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Story = input.ReadString();
            break;
          }
          case 32: {
            NPCId = input.ReadInt32();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
          case 50: {
            Source = input.ReadString();
            break;
          }
          case 56: {
            ItemId = input.ReadInt32();
            break;
          }
          case 64: {
            ItemQty = input.ReadInt32();
            break;
          }
          case 72: {
            IsBanned = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Story = input.ReadString();
            break;
          }
          case 32: {
            NPCId = input.ReadInt32();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
          case 50: {
            Source = input.ReadString();
            break;
          }
          case 56: {
            ItemId = input.ReadInt32();
            break;
          }
          case 64: {
            ItemQty = input.ReadInt32();
            break;
          }
          case 72: {
            IsBanned = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBookEventReward : pb::IMessage<table_StarTowerBookEventReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBookEventReward> _parser = new pb::MessageParser<table_StarTowerBookEventReward>(() => new table_StarTowerBookEventReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBookEventReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[367]; }
    }

    [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 table_StarTowerBookEventReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookEventReward(table_StarTowerBookEventReward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookEventReward Clone() {
      return new table_StarTowerBookEventReward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBookEventReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBookEventReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBookEventReward> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBookEventReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBookEventReward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBookEventReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBookEventReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBookEventReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBookFateCard : pb::IMessage<StarTowerBookFateCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBookFateCard> _parser = new pb::MessageParser<StarTowerBookFateCard>(() => new StarTowerBookFateCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBookFateCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[368]; }
    }

    [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 StarTowerBookFateCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookFateCard(StarTowerBookFateCard other) : this() {
      id_ = other.id_;
      bundleId_ = other.bundleId_;
      icon_ = other.icon_;
      sortId_ = other.sortId_;
      source_ = other.source_;
      unlockTip_ = other.unlockTip_;
      worldClass_ = other.worldClass_;
      starTowerId_ = other.starTowerId_;
      collectCards_ = other.collectCards_.Clone();
      unlockCards_ = other.unlockCards_.Clone();
      isBanned_ = other.isBanned_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookFateCard Clone() {
      return new StarTowerBookFateCard(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "BundleId" field.</summary>
    public const int BundleIdFieldNumber = 2;
    private int bundleId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BundleId {
      get { return bundleId_; }
      set {
        bundleId_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 3;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SortId" field.</summary>
    public const int SortIdFieldNumber = 4;
    private int sortId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SortId {
      get { return sortId_; }
      set {
        sortId_ = value;
      }
    }

    /// <summary>Field number for the "Source" field.</summary>
    public const int SourceFieldNumber = 5;
    private string source_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Source {
      get { return source_; }
      set {
        source_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UnlockTip" field.</summary>
    public const int UnlockTipFieldNumber = 6;
    private string unlockTip_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string UnlockTip {
      get { return unlockTip_; }
      set {
        unlockTip_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "WorldClass" field.</summary>
    public const int WorldClassFieldNumber = 7;
    private int worldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WorldClass {
      get { return worldClass_; }
      set {
        worldClass_ = value;
      }
    }

    /// <summary>Field number for the "StarTowerId" field.</summary>
    public const int StarTowerIdFieldNumber = 8;
    private int starTowerId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StarTowerId {
      get { return starTowerId_; }
      set {
        starTowerId_ = value;
      }
    }

    /// <summary>Field number for the "CollectCards" field.</summary>
    public const int CollectCardsFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_collectCards_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> collectCards_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CollectCards {
      get { return collectCards_; }
    }

    /// <summary>Field number for the "UnlockCards" field.</summary>
    public const int UnlockCardsFieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_unlockCards_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> unlockCards_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> UnlockCards {
      get { return unlockCards_; }
    }

    /// <summary>Field number for the "IsBanned" field.</summary>
    public const int IsBannedFieldNumber = 11;
    private bool isBanned_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsBanned {
      get { return isBanned_; }
      set {
        isBanned_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerBookFateCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBookFateCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (BundleId != other.BundleId) return false;
      if (Icon != other.Icon) return false;
      if (SortId != other.SortId) return false;
      if (Source != other.Source) return false;
      if (UnlockTip != other.UnlockTip) return false;
      if (WorldClass != other.WorldClass) return false;
      if (StarTowerId != other.StarTowerId) return false;
      if(!collectCards_.Equals(other.collectCards_)) return false;
      if(!unlockCards_.Equals(other.unlockCards_)) return false;
      if (IsBanned != other.IsBanned) 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 (BundleId != 0) hash ^= BundleId.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (SortId != 0) hash ^= SortId.GetHashCode();
      if (Source.Length != 0) hash ^= Source.GetHashCode();
      if (UnlockTip.Length != 0) hash ^= UnlockTip.GetHashCode();
      if (WorldClass != 0) hash ^= WorldClass.GetHashCode();
      if (StarTowerId != 0) hash ^= StarTowerId.GetHashCode();
      hash ^= collectCards_.GetHashCode();
      hash ^= unlockCards_.GetHashCode();
      if (IsBanned != false) hash ^= IsBanned.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.WriteInt32(Id);
      }
      if (BundleId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BundleId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon);
      }
      if (SortId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(SortId);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Source);
      }
      if (UnlockTip.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(UnlockTip);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(WorldClass);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(StarTowerId);
      }
      collectCards_.WriteTo(output, _repeated_collectCards_codec);
      unlockCards_.WriteTo(output, _repeated_unlockCards_codec);
      if (IsBanned != false) {
        output.WriteRawTag(88);
        output.WriteBool(IsBanned);
      }
      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.WriteInt32(Id);
      }
      if (BundleId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BundleId);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Icon);
      }
      if (SortId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(SortId);
      }
      if (Source.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Source);
      }
      if (UnlockTip.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(UnlockTip);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(WorldClass);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(StarTowerId);
      }
      collectCards_.WriteTo(ref output, _repeated_collectCards_codec);
      unlockCards_.WriteTo(ref output, _repeated_unlockCards_codec);
      if (IsBanned != false) {
        output.WriteRawTag(88);
        output.WriteBool(IsBanned);
      }
      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.ComputeInt32Size(Id);
      }
      if (BundleId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BundleId);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (SortId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SortId);
      }
      if (Source.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Source);
      }
      if (UnlockTip.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(UnlockTip);
      }
      if (WorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClass);
      }
      if (StarTowerId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StarTowerId);
      }
      size += collectCards_.CalculateSize(_repeated_collectCards_codec);
      size += unlockCards_.CalculateSize(_repeated_unlockCards_codec);
      if (IsBanned != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBookFateCard other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.BundleId != 0) {
        BundleId = other.BundleId;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.SortId != 0) {
        SortId = other.SortId;
      }
      if (other.Source.Length != 0) {
        Source = other.Source;
      }
      if (other.UnlockTip.Length != 0) {
        UnlockTip = other.UnlockTip;
      }
      if (other.WorldClass != 0) {
        WorldClass = other.WorldClass;
      }
      if (other.StarTowerId != 0) {
        StarTowerId = other.StarTowerId;
      }
      collectCards_.Add(other.collectCards_);
      unlockCards_.Add(other.unlockCards_);
      if (other.IsBanned != false) {
        IsBanned = other.IsBanned;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            BundleId = input.ReadInt32();
            break;
          }
          case 26: {
            Icon = input.ReadString();
            break;
          }
          case 32: {
            SortId = input.ReadInt32();
            break;
          }
          case 42: {
            Source = input.ReadString();
            break;
          }
          case 50: {
            UnlockTip = input.ReadString();
            break;
          }
          case 56: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 64: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            collectCards_.AddEntriesFrom(input, _repeated_collectCards_codec);
            break;
          }
          case 82:
          case 80: {
            unlockCards_.AddEntriesFrom(input, _repeated_unlockCards_codec);
            break;
          }
          case 88: {
            IsBanned = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 16: {
            BundleId = input.ReadInt32();
            break;
          }
          case 26: {
            Icon = input.ReadString();
            break;
          }
          case 32: {
            SortId = input.ReadInt32();
            break;
          }
          case 42: {
            Source = input.ReadString();
            break;
          }
          case 50: {
            UnlockTip = input.ReadString();
            break;
          }
          case 56: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 64: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            collectCards_.AddEntriesFrom(ref input, _repeated_collectCards_codec);
            break;
          }
          case 82:
          case 80: {
            unlockCards_.AddEntriesFrom(ref input, _repeated_unlockCards_codec);
            break;
          }
          case 88: {
            IsBanned = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBookFateCard : pb::IMessage<table_StarTowerBookFateCard>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBookFateCard> _parser = new pb::MessageParser<table_StarTowerBookFateCard>(() => new table_StarTowerBookFateCard());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBookFateCard> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[369]; }
    }

    [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 table_StarTowerBookFateCard() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookFateCard(table_StarTowerBookFateCard other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookFateCard Clone() {
      return new table_StarTowerBookFateCard(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBookFateCard> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBookFateCard.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCard> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCard>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCard> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBookFateCard);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBookFateCard other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBookFateCard other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBookFateCardBundle : pb::IMessage<StarTowerBookFateCardBundle>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBookFateCardBundle> _parser = new pb::MessageParser<StarTowerBookFateCardBundle>(() => new StarTowerBookFateCardBundle());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBookFateCardBundle> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[370]; }
    }

    [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 StarTowerBookFateCardBundle() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookFateCardBundle(StarTowerBookFateCardBundle other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      shortName_ = other.shortName_;
      sortId_ = other.sortId_;
      tag_ = other.tag_;
      smallIcon_ = other.smallIcon_;
      bundleIcon_ = other.bundleIcon_;
      icon_ = other.icon_;
      worldClass_ = other.worldClass_;
      starTowerId_ = other.starTowerId_;
      collectCards_ = other.collectCards_.Clone();
      unlockCards_ = other.unlockCards_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookFateCardBundle Clone() {
      return new StarTowerBookFateCardBundle(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ShortName" field.</summary>
    public const int ShortNameFieldNumber = 3;
    private string shortName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ShortName {
      get { return shortName_; }
      set {
        shortName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SortId" field.</summary>
    public const int SortIdFieldNumber = 4;
    private int sortId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SortId {
      get { return sortId_; }
      set {
        sortId_ = value;
      }
    }

    /// <summary>Field number for the "Tag" field.</summary>
    public const int TagFieldNumber = 5;
    private string tag_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Tag {
      get { return tag_; }
      set {
        tag_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SmallIcon" field.</summary>
    public const int SmallIconFieldNumber = 6;
    private string smallIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SmallIcon {
      get { return smallIcon_; }
      set {
        smallIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BundleIcon" field.</summary>
    public const int BundleIconFieldNumber = 7;
    private string bundleIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BundleIcon {
      get { return bundleIcon_; }
      set {
        bundleIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 8;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "WorldClass" field.</summary>
    public const int WorldClassFieldNumber = 9;
    private int worldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WorldClass {
      get { return worldClass_; }
      set {
        worldClass_ = value;
      }
    }

    /// <summary>Field number for the "StarTowerId" field.</summary>
    public const int StarTowerIdFieldNumber = 10;
    private int starTowerId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StarTowerId {
      get { return starTowerId_; }
      set {
        starTowerId_ = value;
      }
    }

    /// <summary>Field number for the "CollectCards" field.</summary>
    public const int CollectCardsFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_collectCards_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> collectCards_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CollectCards {
      get { return collectCards_; }
    }

    /// <summary>Field number for the "UnlockCards" field.</summary>
    public const int UnlockCardsFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_unlockCards_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> unlockCards_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> UnlockCards {
      get { return unlockCards_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerBookFateCardBundle);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBookFateCardBundle other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (ShortName != other.ShortName) return false;
      if (SortId != other.SortId) return false;
      if (Tag != other.Tag) return false;
      if (SmallIcon != other.SmallIcon) return false;
      if (BundleIcon != other.BundleIcon) return false;
      if (Icon != other.Icon) return false;
      if (WorldClass != other.WorldClass) return false;
      if (StarTowerId != other.StarTowerId) return false;
      if(!collectCards_.Equals(other.collectCards_)) return false;
      if(!unlockCards_.Equals(other.unlockCards_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (ShortName.Length != 0) hash ^= ShortName.GetHashCode();
      if (SortId != 0) hash ^= SortId.GetHashCode();
      if (Tag.Length != 0) hash ^= Tag.GetHashCode();
      if (SmallIcon.Length != 0) hash ^= SmallIcon.GetHashCode();
      if (BundleIcon.Length != 0) hash ^= BundleIcon.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (WorldClass != 0) hash ^= WorldClass.GetHashCode();
      if (StarTowerId != 0) hash ^= StarTowerId.GetHashCode();
      hash ^= collectCards_.GetHashCode();
      hash ^= unlockCards_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (ShortName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ShortName);
      }
      if (SortId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(SortId);
      }
      if (Tag.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Tag);
      }
      if (SmallIcon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(SmallIcon);
      }
      if (BundleIcon.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(BundleIcon);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(WorldClass);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(StarTowerId);
      }
      collectCards_.WriteTo(output, _repeated_collectCards_codec);
      unlockCards_.WriteTo(output, _repeated_unlockCards_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (ShortName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ShortName);
      }
      if (SortId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(SortId);
      }
      if (Tag.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Tag);
      }
      if (SmallIcon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(SmallIcon);
      }
      if (BundleIcon.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(BundleIcon);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(WorldClass);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(StarTowerId);
      }
      collectCards_.WriteTo(ref output, _repeated_collectCards_codec);
      unlockCards_.WriteTo(ref output, _repeated_unlockCards_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (ShortName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ShortName);
      }
      if (SortId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SortId);
      }
      if (Tag.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Tag);
      }
      if (SmallIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SmallIcon);
      }
      if (BundleIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BundleIcon);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (WorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClass);
      }
      if (StarTowerId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StarTowerId);
      }
      size += collectCards_.CalculateSize(_repeated_collectCards_codec);
      size += unlockCards_.CalculateSize(_repeated_unlockCards_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBookFateCardBundle other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.ShortName.Length != 0) {
        ShortName = other.ShortName;
      }
      if (other.SortId != 0) {
        SortId = other.SortId;
      }
      if (other.Tag.Length != 0) {
        Tag = other.Tag;
      }
      if (other.SmallIcon.Length != 0) {
        SmallIcon = other.SmallIcon;
      }
      if (other.BundleIcon.Length != 0) {
        BundleIcon = other.BundleIcon;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.WorldClass != 0) {
        WorldClass = other.WorldClass;
      }
      if (other.StarTowerId != 0) {
        StarTowerId = other.StarTowerId;
      }
      collectCards_.Add(other.collectCards_);
      unlockCards_.Add(other.unlockCards_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            ShortName = input.ReadString();
            break;
          }
          case 32: {
            SortId = input.ReadInt32();
            break;
          }
          case 42: {
            Tag = input.ReadString();
            break;
          }
          case 50: {
            SmallIcon = input.ReadString();
            break;
          }
          case 58: {
            BundleIcon = input.ReadString();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 72: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 80: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            collectCards_.AddEntriesFrom(input, _repeated_collectCards_codec);
            break;
          }
          case 98:
          case 96: {
            unlockCards_.AddEntriesFrom(input, _repeated_unlockCards_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            ShortName = input.ReadString();
            break;
          }
          case 32: {
            SortId = input.ReadInt32();
            break;
          }
          case 42: {
            Tag = input.ReadString();
            break;
          }
          case 50: {
            SmallIcon = input.ReadString();
            break;
          }
          case 58: {
            BundleIcon = input.ReadString();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 72: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 80: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            collectCards_.AddEntriesFrom(ref input, _repeated_collectCards_codec);
            break;
          }
          case 98:
          case 96: {
            unlockCards_.AddEntriesFrom(ref input, _repeated_unlockCards_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBookFateCardBundle : pb::IMessage<table_StarTowerBookFateCardBundle>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBookFateCardBundle> _parser = new pb::MessageParser<table_StarTowerBookFateCardBundle>(() => new table_StarTowerBookFateCardBundle());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBookFateCardBundle> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[371]; }
    }

    [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 table_StarTowerBookFateCardBundle() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookFateCardBundle(table_StarTowerBookFateCardBundle other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookFateCardBundle Clone() {
      return new table_StarTowerBookFateCardBundle(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBookFateCardBundle> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBookFateCardBundle.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCardBundle> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCardBundle>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCardBundle> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBookFateCardBundle);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBookFateCardBundle other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBookFateCardBundle other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBookFateCardQuest : pb::IMessage<StarTowerBookFateCardQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBookFateCardQuest> _parser = new pb::MessageParser<StarTowerBookFateCardQuest>(() => new StarTowerBookFateCardQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBookFateCardQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[372]; }
    }

    [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 StarTowerBookFateCardQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookFateCardQuest(StarTowerBookFateCardQuest other) : this() {
      id_ = other.id_;
      bundleId_ = other.bundleId_;
      desc_ = other.desc_;
      finishType_ = other.finishType_;
      finishParams_ = other.finishParams_;
      tid1_ = other.tid1_;
      qty1_ = other.qty1_;
      tid2_ = other.tid2_;
      qty2_ = other.qty2_;
      tid3_ = other.tid3_;
      qty3_ = other.qty3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookFateCardQuest Clone() {
      return new StarTowerBookFateCardQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "BundleId" field.</summary>
    public const int BundleIdFieldNumber = 2;
    private int bundleId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BundleId {
      get { return bundleId_; }
      set {
        bundleId_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FinishType" field.</summary>
    public const int FinishTypeFieldNumber = 4;
    private int finishType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinishType {
      get { return finishType_; }
      set {
        finishType_ = value;
      }
    }

    /// <summary>Field number for the "FinishParams" field.</summary>
    public const int FinishParamsFieldNumber = 5;
    private string finishParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string FinishParams {
      get { return finishParams_; }
      set {
        finishParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tid1" field.</summary>
    public const int Tid1FieldNumber = 6;
    private int tid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Tid1 {
      get { return tid1_; }
      set {
        tid1_ = value;
      }
    }

    /// <summary>Field number for the "Qty1" field.</summary>
    public const int Qty1FieldNumber = 7;
    private int qty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Qty1 {
      get { return qty1_; }
      set {
        qty1_ = value;
      }
    }

    /// <summary>Field number for the "Tid2" field.</summary>
    public const int Tid2FieldNumber = 8;
    private int tid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Tid2 {
      get { return tid2_; }
      set {
        tid2_ = value;
      }
    }

    /// <summary>Field number for the "Qty2" field.</summary>
    public const int Qty2FieldNumber = 9;
    private int qty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Qty2 {
      get { return qty2_; }
      set {
        qty2_ = value;
      }
    }

    /// <summary>Field number for the "Tid3" field.</summary>
    public const int Tid3FieldNumber = 10;
    private int tid3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Tid3 {
      get { return tid3_; }
      set {
        tid3_ = value;
      }
    }

    /// <summary>Field number for the "Qty3" field.</summary>
    public const int Qty3FieldNumber = 11;
    private int qty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Qty3 {
      get { return qty3_; }
      set {
        qty3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerBookFateCardQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBookFateCardQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (BundleId != other.BundleId) return false;
      if (Desc != other.Desc) return false;
      if (FinishType != other.FinishType) return false;
      if (FinishParams != other.FinishParams) return false;
      if (Tid1 != other.Tid1) return false;
      if (Qty1 != other.Qty1) return false;
      if (Tid2 != other.Tid2) return false;
      if (Qty2 != other.Qty2) return false;
      if (Tid3 != other.Tid3) return false;
      if (Qty3 != other.Qty3) 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 (BundleId != 0) hash ^= BundleId.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (FinishType != 0) hash ^= FinishType.GetHashCode();
      if (FinishParams.Length != 0) hash ^= FinishParams.GetHashCode();
      if (Tid1 != 0) hash ^= Tid1.GetHashCode();
      if (Qty1 != 0) hash ^= Qty1.GetHashCode();
      if (Tid2 != 0) hash ^= Tid2.GetHashCode();
      if (Qty2 != 0) hash ^= Qty2.GetHashCode();
      if (Tid3 != 0) hash ^= Tid3.GetHashCode();
      if (Qty3 != 0) hash ^= Qty3.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.WriteInt32(Id);
      }
      if (BundleId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BundleId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (FinishType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FinishType);
      }
      if (FinishParams.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(FinishParams);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Qty3);
      }
      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.WriteInt32(Id);
      }
      if (BundleId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BundleId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (FinishType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FinishType);
      }
      if (FinishParams.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(FinishParams);
      }
      if (Tid1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Tid1);
      }
      if (Qty1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Qty1);
      }
      if (Tid2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Tid2);
      }
      if (Qty2 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Qty2);
      }
      if (Tid3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Tid3);
      }
      if (Qty3 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Qty3);
      }
      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.ComputeInt32Size(Id);
      }
      if (BundleId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BundleId);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (FinishType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinishType);
      }
      if (FinishParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(FinishParams);
      }
      if (Tid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid1);
      }
      if (Qty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty1);
      }
      if (Tid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid2);
      }
      if (Qty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty2);
      }
      if (Tid3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tid3);
      }
      if (Qty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Qty3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBookFateCardQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.BundleId != 0) {
        BundleId = other.BundleId;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.FinishType != 0) {
        FinishType = other.FinishType;
      }
      if (other.FinishParams.Length != 0) {
        FinishParams = other.FinishParams;
      }
      if (other.Tid1 != 0) {
        Tid1 = other.Tid1;
      }
      if (other.Qty1 != 0) {
        Qty1 = other.Qty1;
      }
      if (other.Tid2 != 0) {
        Tid2 = other.Tid2;
      }
      if (other.Qty2 != 0) {
        Qty2 = other.Qty2;
      }
      if (other.Tid3 != 0) {
        Tid3 = other.Tid3;
      }
      if (other.Qty3 != 0) {
        Qty3 = other.Qty3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            BundleId = input.ReadInt32();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            FinishType = input.ReadInt32();
            break;
          }
          case 42: {
            FinishParams = input.ReadString();
            break;
          }
          case 48: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 56: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 64: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 72: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 80: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 88: {
            Qty3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            BundleId = input.ReadInt32();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            FinishType = input.ReadInt32();
            break;
          }
          case 42: {
            FinishParams = input.ReadString();
            break;
          }
          case 48: {
            Tid1 = input.ReadInt32();
            break;
          }
          case 56: {
            Qty1 = input.ReadInt32();
            break;
          }
          case 64: {
            Tid2 = input.ReadInt32();
            break;
          }
          case 72: {
            Qty2 = input.ReadInt32();
            break;
          }
          case 80: {
            Tid3 = input.ReadInt32();
            break;
          }
          case 88: {
            Qty3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBookFateCardQuest : pb::IMessage<table_StarTowerBookFateCardQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBookFateCardQuest> _parser = new pb::MessageParser<table_StarTowerBookFateCardQuest>(() => new table_StarTowerBookFateCardQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBookFateCardQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[373]; }
    }

    [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 table_StarTowerBookFateCardQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookFateCardQuest(table_StarTowerBookFateCardQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookFateCardQuest Clone() {
      return new table_StarTowerBookFateCardQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBookFateCardQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBookFateCardQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCardQuest> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCardQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBookFateCardQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBookFateCardQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBookFateCardQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBookFateCardQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBookPotentialReward : pb::IMessage<StarTowerBookPotentialReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBookPotentialReward> _parser = new pb::MessageParser<StarTowerBookPotentialReward>(() => new StarTowerBookPotentialReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBookPotentialReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[374]; }
    }

    [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 StarTowerBookPotentialReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookPotentialReward(StarTowerBookPotentialReward other) : this() {
      id_ = other.id_;
      charId_ = other.charId_;
      desc_ = other.desc_;
      sort_ = other.sort_;
      cond_ = other.cond_;
      params_ = other.params_;
      itemId_ = other.itemId_;
      itemQty_ = other.itemQty_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBookPotentialReward Clone() {
      return new StarTowerBookPotentialReward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 2;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 4;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "Cond" field.</summary>
    public const int CondFieldNumber = 5;
    private int cond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Cond {
      get { return cond_; }
      set {
        cond_ = value;
      }
    }

    /// <summary>Field number for the "Params" field.</summary>
    public const int ParamsFieldNumber = 6;
    private string params_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Params {
      get { return params_; }
      set {
        params_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 7;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty" field.</summary>
    public const int ItemQtyFieldNumber = 8;
    private int itemQty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty {
      get { return itemQty_; }
      set {
        itemQty_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerBookPotentialReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBookPotentialReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharId != other.CharId) return false;
      if (Desc != other.Desc) return false;
      if (Sort != other.Sort) return false;
      if (Cond != other.Cond) return false;
      if (Params != other.Params) return false;
      if (ItemId != other.ItemId) return false;
      if (ItemQty != other.ItemQty) 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 (CharId != 0) hash ^= CharId.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (Cond != 0) hash ^= Cond.GetHashCode();
      if (Params.Length != 0) hash ^= Params.GetHashCode();
      if (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (ItemQty != 0) hash ^= ItemQty.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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Sort != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Sort);
      }
      if (Cond != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Cond);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Params);
      }
      if (ItemId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ItemQty);
      }
      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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Sort != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Sort);
      }
      if (Cond != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Cond);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Params);
      }
      if (ItemId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ItemId);
      }
      if (ItemQty != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ItemQty);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (Cond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Cond);
      }
      if (Params.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Params);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (ItemQty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemQty);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBookPotentialReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.Cond != 0) {
        Cond = other.Cond;
      }
      if (other.Params.Length != 0) {
        Params = other.Params;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.ItemQty != 0) {
        ItemQty = other.ItemQty;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Sort = input.ReadInt32();
            break;
          }
          case 40: {
            Cond = input.ReadInt32();
            break;
          }
          case 50: {
            Params = input.ReadString();
            break;
          }
          case 56: {
            ItemId = input.ReadInt32();
            break;
          }
          case 64: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Sort = input.ReadInt32();
            break;
          }
          case 40: {
            Cond = input.ReadInt32();
            break;
          }
          case 50: {
            Params = input.ReadString();
            break;
          }
          case 56: {
            ItemId = input.ReadInt32();
            break;
          }
          case 64: {
            ItemQty = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBookPotentialReward : pb::IMessage<table_StarTowerBookPotentialReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBookPotentialReward> _parser = new pb::MessageParser<table_StarTowerBookPotentialReward>(() => new table_StarTowerBookPotentialReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBookPotentialReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[375]; }
    }

    [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 table_StarTowerBookPotentialReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookPotentialReward(table_StarTowerBookPotentialReward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBookPotentialReward Clone() {
      return new table_StarTowerBookPotentialReward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBookPotentialReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBookPotentialReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBookPotentialReward> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBookPotentialReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBookPotentialReward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBookPotentialReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBookPotentialReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBookPotentialReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerBuildRank : pb::IMessage<StarTowerBuildRank>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerBuildRank> _parser = new pb::MessageParser<StarTowerBuildRank>(() => new StarTowerBuildRank());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerBuildRank> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[376]; }
    }

    [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 StarTowerBuildRank() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBuildRank(StarTowerBuildRank other) : this() {
      id_ = other.id_;
      minGrade_ = other.minGrade_;
      rarity_ = other.rarity_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerBuildRank Clone() {
      return new StarTowerBuildRank(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MinGrade" field.</summary>
    public const int MinGradeFieldNumber = 2;
    private int minGrade_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MinGrade {
      get { return minGrade_; }
      set {
        minGrade_ = value;
      }
    }

    /// <summary>Field number for the "Rarity" field.</summary>
    public const int RarityFieldNumber = 3;
    private int rarity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rarity {
      get { return rarity_; }
      set {
        rarity_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerBuildRank);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerBuildRank other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MinGrade != other.MinGrade) return false;
      if (Rarity != other.Rarity) 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 (MinGrade != 0) hash ^= MinGrade.GetHashCode();
      if (Rarity != 0) hash ^= Rarity.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.WriteInt32(Id);
      }
      if (MinGrade != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MinGrade);
      }
      if (Rarity != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Rarity);
      }
      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.WriteInt32(Id);
      }
      if (MinGrade != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MinGrade);
      }
      if (Rarity != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Rarity);
      }
      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.ComputeInt32Size(Id);
      }
      if (MinGrade != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MinGrade);
      }
      if (Rarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rarity);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerBuildRank other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MinGrade != 0) {
        MinGrade = other.MinGrade;
      }
      if (other.Rarity != 0) {
        Rarity = other.Rarity;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            MinGrade = input.ReadInt32();
            break;
          }
          case 24: {
            Rarity = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            MinGrade = input.ReadInt32();
            break;
          }
          case 24: {
            Rarity = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerBuildRank : pb::IMessage<table_StarTowerBuildRank>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerBuildRank> _parser = new pb::MessageParser<table_StarTowerBuildRank>(() => new table_StarTowerBuildRank());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerBuildRank> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[377]; }
    }

    [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 table_StarTowerBuildRank() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBuildRank(table_StarTowerBuildRank other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerBuildRank Clone() {
      return new table_StarTowerBuildRank(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerBuildRank> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerBuildRank.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerBuildRank> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerBuildRank>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerBuildRank> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerBuildRank);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerBuildRank other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerBuildRank other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerCombatEvent : pb::IMessage<StarTowerCombatEvent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerCombatEvent> _parser = new pb::MessageParser<StarTowerCombatEvent>(() => new StarTowerCombatEvent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerCombatEvent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[378]; }
    }

    [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 StarTowerCombatEvent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerCombatEvent(StarTowerCombatEvent other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      type_ = other.type_;
      params_ = other.params_;
      active_ = other.active_;
      start_ = other.start_;
      interact_ = other.interact_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerCombatEvent Clone() {
      return new StarTowerCombatEvent(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 3;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Params" field.</summary>
    public const int ParamsFieldNumber = 4;
    private string params_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Params {
      get { return params_; }
      set {
        params_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Active" field.</summary>
    public const int ActiveFieldNumber = 5;
    private int active_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Active {
      get { return active_; }
      set {
        active_ = value;
      }
    }

    /// <summary>Field number for the "Start" field.</summary>
    public const int StartFieldNumber = 6;
    private int start_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Start {
      get { return start_; }
      set {
        start_ = value;
      }
    }

    /// <summary>Field number for the "Interact" field.</summary>
    public const int InteractFieldNumber = 7;
    private int interact_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Interact {
      get { return interact_; }
      set {
        interact_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerCombatEvent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerCombatEvent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Type != other.Type) return false;
      if (Params != other.Params) return false;
      if (Active != other.Active) return false;
      if (Start != other.Start) return false;
      if (Interact != other.Interact) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Params.Length != 0) hash ^= Params.GetHashCode();
      if (Active != 0) hash ^= Active.GetHashCode();
      if (Start != 0) hash ^= Start.GetHashCode();
      if (Interact != 0) hash ^= Interact.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Params);
      }
      if (Active != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Active);
      }
      if (Start != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Start);
      }
      if (Interact != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Interact);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Type != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Type);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Params);
      }
      if (Active != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Active);
      }
      if (Start != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Start);
      }
      if (Interact != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Interact);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Params.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Params);
      }
      if (Active != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Active);
      }
      if (Start != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Start);
      }
      if (Interact != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Interact);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerCombatEvent other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Params.Length != 0) {
        Params = other.Params;
      }
      if (other.Active != 0) {
        Active = other.Active;
      }
      if (other.Start != 0) {
        Start = other.Start;
      }
      if (other.Interact != 0) {
        Interact = other.Interact;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 34: {
            Params = input.ReadString();
            break;
          }
          case 40: {
            Active = input.ReadInt32();
            break;
          }
          case 48: {
            Start = input.ReadInt32();
            break;
          }
          case 56: {
            Interact = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Type = input.ReadInt32();
            break;
          }
          case 34: {
            Params = input.ReadString();
            break;
          }
          case 40: {
            Active = input.ReadInt32();
            break;
          }
          case 48: {
            Start = input.ReadInt32();
            break;
          }
          case 56: {
            Interact = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerCombatEvent : pb::IMessage<table_StarTowerCombatEvent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerCombatEvent> _parser = new pb::MessageParser<table_StarTowerCombatEvent>(() => new table_StarTowerCombatEvent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerCombatEvent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[379]; }
    }

    [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 table_StarTowerCombatEvent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerCombatEvent(table_StarTowerCombatEvent other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerCombatEvent Clone() {
      return new table_StarTowerCombatEvent(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerCombatEvent> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerCombatEvent.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerCombatEvent> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerCombatEvent>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerCombatEvent> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerCombatEvent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerCombatEvent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerCombatEvent other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerCombo : pb::IMessage<StarTowerCombo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerCombo> _parser = new pb::MessageParser<StarTowerCombo>(() => new StarTowerCombo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerCombo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[380]; }
    }

    [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 StarTowerCombo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerCombo(StarTowerCombo other) : this() {
      id_ = other.id_;
      battleLvs_ = other.battleLvs_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerCombo Clone() {
      return new StarTowerCombo(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "BattleLvs" field.</summary>
    public const int BattleLvsFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_battleLvs_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> battleLvs_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BattleLvs {
      get { return battleLvs_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerCombo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerCombo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!battleLvs_.Equals(other.battleLvs_)) 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();
      hash ^= battleLvs_.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.WriteInt32(Id);
      }
      battleLvs_.WriteTo(output, _repeated_battleLvs_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      battleLvs_.WriteTo(ref output, _repeated_battleLvs_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      size += battleLvs_.CalculateSize(_repeated_battleLvs_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerCombo other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      battleLvs_.Add(other.battleLvs_);
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            battleLvs_.AddEntriesFrom(input, _repeated_battleLvs_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            battleLvs_.AddEntriesFrom(ref input, _repeated_battleLvs_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerCombo : pb::IMessage<table_StarTowerCombo>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerCombo> _parser = new pb::MessageParser<table_StarTowerCombo>(() => new table_StarTowerCombo());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerCombo> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[381]; }
    }

    [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 table_StarTowerCombo() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerCombo(table_StarTowerCombo other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerCombo Clone() {
      return new table_StarTowerCombo(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerCombo> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerCombo.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerCombo> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerCombo>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerCombo> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerCombo);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerCombo other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerCombo other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerDropItem : pb::IMessage<StarTowerDropItem>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerDropItem> _parser = new pb::MessageParser<StarTowerDropItem>(() => new StarTowerDropItem());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerDropItem> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[382]; }
    }

    [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 StarTowerDropItem() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerDropItem(StarTowerDropItem other) : this() {
      id_ = other.id_;
      type_ = other.type_;
      dropSplitRange_ = other.dropSplitRange_.Clone();
      rate_ = other.rate_.Clone();
      model_ = other.model_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerDropItem Clone() {
      return new StarTowerDropItem(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 2;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "DropSplitRange" field.</summary>
    public const int DropSplitRangeFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_dropSplitRange_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> dropSplitRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DropSplitRange {
      get { return dropSplitRange_; }
    }

    /// <summary>Field number for the "Rate" field.</summary>
    public const int RateFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_rate_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> rate_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Rate {
      get { return rate_; }
    }

    /// <summary>Field number for the "Model" field.</summary>
    public const int ModelFieldNumber = 5;
    private string model_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Model {
      get { return model_; }
      set {
        model_ = 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 StarTowerDropItem);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerDropItem other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Type != other.Type) return false;
      if(!dropSplitRange_.Equals(other.dropSplitRange_)) return false;
      if(!rate_.Equals(other.rate_)) return false;
      if (Model != other.Model) 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 (Type != 0) hash ^= Type.GetHashCode();
      hash ^= dropSplitRange_.GetHashCode();
      hash ^= rate_.GetHashCode();
      if (Model.Length != 0) hash ^= Model.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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      dropSplitRange_.WriteTo(output, _repeated_dropSplitRange_codec);
      rate_.WriteTo(output, _repeated_rate_codec);
      if (Model.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Model);
      }
      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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      dropSplitRange_.WriteTo(ref output, _repeated_dropSplitRange_codec);
      rate_.WriteTo(ref output, _repeated_rate_codec);
      if (Model.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Model);
      }
      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.ComputeInt32Size(Id);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      size += dropSplitRange_.CalculateSize(_repeated_dropSplitRange_codec);
      size += rate_.CalculateSize(_repeated_rate_codec);
      if (Model.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Model);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerDropItem other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      dropSplitRange_.Add(other.dropSplitRange_);
      rate_.Add(other.rate_);
      if (other.Model.Length != 0) {
        Model = other.Model;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            dropSplitRange_.AddEntriesFrom(input, _repeated_dropSplitRange_codec);
            break;
          }
          case 34:
          case 32: {
            rate_.AddEntriesFrom(input, _repeated_rate_codec);
            break;
          }
          case 42: {
            Model = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            dropSplitRange_.AddEntriesFrom(ref input, _repeated_dropSplitRange_codec);
            break;
          }
          case 34:
          case 32: {
            rate_.AddEntriesFrom(ref input, _repeated_rate_codec);
            break;
          }
          case 42: {
            Model = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerDropItem : pb::IMessage<table_StarTowerDropItem>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerDropItem> _parser = new pb::MessageParser<table_StarTowerDropItem>(() => new table_StarTowerDropItem());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerDropItem> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[383]; }
    }

    [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 table_StarTowerDropItem() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerDropItem(table_StarTowerDropItem other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerDropItem Clone() {
      return new table_StarTowerDropItem(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerDropItem> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerDropItem.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerDropItem> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerDropItem>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerDropItem> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerDropItem);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerDropItem other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerDropItem other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerEnemySet : pb::IMessage<StarTowerEnemySet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerEnemySet> _parser = new pb::MessageParser<StarTowerEnemySet>(() => new StarTowerEnemySet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerEnemySet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[384]; }
    }

    [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 StarTowerEnemySet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEnemySet(StarTowerEnemySet other) : this() {
      setId_ = other.setId_;
      waveNum_ = other.waveNum_;
      maxNum_ = other.maxNum_;
      maxNumPerWave_ = other.maxNumPerWave_;
      monsterId_ = other.monsterId_;
      refInterval_ = other.refInterval_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEnemySet Clone() {
      return new StarTowerEnemySet(this);
    }

    /// <summary>Field number for the "SetId" field.</summary>
    public const int SetIdFieldNumber = 1;
    private int setId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SetId {
      get { return setId_; }
      set {
        setId_ = value;
      }
    }

    /// <summary>Field number for the "WaveNum" field.</summary>
    public const int WaveNumFieldNumber = 2;
    private int waveNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WaveNum {
      get { return waveNum_; }
      set {
        waveNum_ = value;
      }
    }

    /// <summary>Field number for the "MaxNum" field.</summary>
    public const int MaxNumFieldNumber = 3;
    private int maxNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxNum {
      get { return maxNum_; }
      set {
        maxNum_ = value;
      }
    }

    /// <summary>Field number for the "MaxNumPerWave" field.</summary>
    public const int MaxNumPerWaveFieldNumber = 4;
    private int maxNumPerWave_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxNumPerWave {
      get { return maxNumPerWave_; }
      set {
        maxNumPerWave_ = value;
      }
    }

    /// <summary>Field number for the "MonsterId" field.</summary>
    public const int MonsterIdFieldNumber = 5;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "RefInterval" field.</summary>
    public const int RefIntervalFieldNumber = 6;
    private float refInterval_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float RefInterval {
      get { return refInterval_; }
      set {
        refInterval_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerEnemySet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerEnemySet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (SetId != other.SetId) return false;
      if (WaveNum != other.WaveNum) return false;
      if (MaxNum != other.MaxNum) return false;
      if (MaxNumPerWave != other.MaxNumPerWave) return false;
      if (MonsterId != other.MonsterId) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(RefInterval, other.RefInterval)) 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 (SetId != 0) hash ^= SetId.GetHashCode();
      if (WaveNum != 0) hash ^= WaveNum.GetHashCode();
      if (MaxNum != 0) hash ^= MaxNum.GetHashCode();
      if (MaxNumPerWave != 0) hash ^= MaxNumPerWave.GetHashCode();
      if (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (RefInterval != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(RefInterval);
      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 (SetId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(SetId);
      }
      if (WaveNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(WaveNum);
      }
      if (MaxNum != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaxNum);
      }
      if (MaxNumPerWave != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxNumPerWave);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MonsterId);
      }
      if (RefInterval != 0F) {
        output.WriteRawTag(53);
        output.WriteFloat(RefInterval);
      }
      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 (SetId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(SetId);
      }
      if (WaveNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(WaveNum);
      }
      if (MaxNum != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaxNum);
      }
      if (MaxNumPerWave != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MaxNumPerWave);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MonsterId);
      }
      if (RefInterval != 0F) {
        output.WriteRawTag(53);
        output.WriteFloat(RefInterval);
      }
      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 (SetId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SetId);
      }
      if (WaveNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveNum);
      }
      if (MaxNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNum);
      }
      if (MaxNumPerWave != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNumPerWave);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (RefInterval != 0F) {
        size += 1 + 4;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerEnemySet other) {
      if (other == null) {
        return;
      }
      if (other.SetId != 0) {
        SetId = other.SetId;
      }
      if (other.WaveNum != 0) {
        WaveNum = other.WaveNum;
      }
      if (other.MaxNum != 0) {
        MaxNum = other.MaxNum;
      }
      if (other.MaxNumPerWave != 0) {
        MaxNumPerWave = other.MaxNumPerWave;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.RefInterval != 0F) {
        RefInterval = other.RefInterval;
      }
      _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: {
            SetId = input.ReadInt32();
            break;
          }
          case 16: {
            WaveNum = input.ReadInt32();
            break;
          }
          case 24: {
            MaxNum = input.ReadInt32();
            break;
          }
          case 32: {
            MaxNumPerWave = input.ReadInt32();
            break;
          }
          case 40: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 53: {
            RefInterval = input.ReadFloat();
            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: {
            SetId = input.ReadInt32();
            break;
          }
          case 16: {
            WaveNum = input.ReadInt32();
            break;
          }
          case 24: {
            MaxNum = input.ReadInt32();
            break;
          }
          case 32: {
            MaxNumPerWave = input.ReadInt32();
            break;
          }
          case 40: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 53: {
            RefInterval = input.ReadFloat();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerEnemySet : pb::IMessage<table_StarTowerEnemySet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerEnemySet> _parser = new pb::MessageParser<table_StarTowerEnemySet>(() => new table_StarTowerEnemySet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerEnemySet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[385]; }
    }

    [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 table_StarTowerEnemySet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEnemySet(table_StarTowerEnemySet other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEnemySet Clone() {
      return new table_StarTowerEnemySet(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerEnemySet> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerEnemySet.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerEnemySet> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerEnemySet>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerEnemySet> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerEnemySet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerEnemySet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerEnemySet other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerEvent : pb::IMessage<StarTowerEvent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerEvent> _parser = new pb::MessageParser<StarTowerEvent>(() => new StarTowerEvent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerEvent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[386]; }
    }

    [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 StarTowerEvent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEvent(StarTowerEvent other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      optionsRulesId_ = other.optionsRulesId_;
      desc_ = other.desc_;
      eventType_ = other.eventType_;
      guaranteedMapId_ = other.guaranteedMapId_;
      npc_ = other.npc_.Clone();
      relatedCharacter_ = other.relatedCharacter_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEvent Clone() {
      return new StarTowerEvent(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "OptionsRulesId" field.</summary>
    public const int OptionsRulesIdFieldNumber = 3;
    private int optionsRulesId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OptionsRulesId {
      get { return optionsRulesId_; }
      set {
        optionsRulesId_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EventType" field.</summary>
    public const int EventTypeFieldNumber = 5;
    private int eventType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EventType {
      get { return eventType_; }
      set {
        eventType_ = value;
      }
    }

    /// <summary>Field number for the "GuaranteedMapId" field.</summary>
    public const int GuaranteedMapIdFieldNumber = 6;
    private int guaranteedMapId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuaranteedMapId {
      get { return guaranteedMapId_; }
      set {
        guaranteedMapId_ = value;
      }
    }

    /// <summary>Field number for the "Npc" field.</summary>
    public const int NpcFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_npc_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> npc_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Npc {
      get { return npc_; }
    }

    /// <summary>Field number for the "RelatedCharacter" field.</summary>
    public const int RelatedCharacterFieldNumber = 8;
    private int relatedCharacter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RelatedCharacter {
      get { return relatedCharacter_; }
      set {
        relatedCharacter_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerEvent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerEvent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (OptionsRulesId != other.OptionsRulesId) return false;
      if (Desc != other.Desc) return false;
      if (EventType != other.EventType) return false;
      if (GuaranteedMapId != other.GuaranteedMapId) return false;
      if(!npc_.Equals(other.npc_)) return false;
      if (RelatedCharacter != other.RelatedCharacter) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (OptionsRulesId != 0) hash ^= OptionsRulesId.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (EventType != 0) hash ^= EventType.GetHashCode();
      if (GuaranteedMapId != 0) hash ^= GuaranteedMapId.GetHashCode();
      hash ^= npc_.GetHashCode();
      if (RelatedCharacter != 0) hash ^= RelatedCharacter.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (OptionsRulesId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(OptionsRulesId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (EventType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EventType);
      }
      if (GuaranteedMapId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GuaranteedMapId);
      }
      npc_.WriteTo(output, _repeated_npc_codec);
      if (RelatedCharacter != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RelatedCharacter);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (OptionsRulesId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(OptionsRulesId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (EventType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EventType);
      }
      if (GuaranteedMapId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GuaranteedMapId);
      }
      npc_.WriteTo(ref output, _repeated_npc_codec);
      if (RelatedCharacter != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RelatedCharacter);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (OptionsRulesId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionsRulesId);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (EventType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EventType);
      }
      if (GuaranteedMapId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuaranteedMapId);
      }
      size += npc_.CalculateSize(_repeated_npc_codec);
      if (RelatedCharacter != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RelatedCharacter);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerEvent other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.OptionsRulesId != 0) {
        OptionsRulesId = other.OptionsRulesId;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.EventType != 0) {
        EventType = other.EventType;
      }
      if (other.GuaranteedMapId != 0) {
        GuaranteedMapId = other.GuaranteedMapId;
      }
      npc_.Add(other.npc_);
      if (other.RelatedCharacter != 0) {
        RelatedCharacter = other.RelatedCharacter;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            OptionsRulesId = input.ReadInt32();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            EventType = input.ReadInt32();
            break;
          }
          case 48: {
            GuaranteedMapId = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            npc_.AddEntriesFrom(input, _repeated_npc_codec);
            break;
          }
          case 64: {
            RelatedCharacter = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            OptionsRulesId = input.ReadInt32();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            EventType = input.ReadInt32();
            break;
          }
          case 48: {
            GuaranteedMapId = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            npc_.AddEntriesFrom(ref input, _repeated_npc_codec);
            break;
          }
          case 64: {
            RelatedCharacter = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerEvent : pb::IMessage<table_StarTowerEvent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerEvent> _parser = new pb::MessageParser<table_StarTowerEvent>(() => new table_StarTowerEvent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerEvent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[387]; }
    }

    [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 table_StarTowerEvent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEvent(table_StarTowerEvent other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEvent Clone() {
      return new table_StarTowerEvent(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerEvent> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerEvent.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerEvent> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerEvent>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerEvent> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerEvent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerEvent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerEvent other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerEventAction : pb::IMessage<StarTowerEventAction>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerEventAction> _parser = new pb::MessageParser<StarTowerEventAction>(() => new StarTowerEventAction());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerEventAction> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[388]; }
    }

    [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 StarTowerEventAction() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEventAction(StarTowerEventAction other) : this() {
      id_ = other.id_;
      eventId_ = other.eventId_;
      trigVoice_ = other.trigVoice_;
      desc_ = other.desc_;
      group_ = other.group_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEventAction Clone() {
      return new StarTowerEventAction(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "EventId" field.</summary>
    public const int EventIdFieldNumber = 2;
    private int eventId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EventId {
      get { return eventId_; }
      set {
        eventId_ = value;
      }
    }

    /// <summary>Field number for the "TrigVoice" field.</summary>
    public const int TrigVoiceFieldNumber = 3;
    private string trigVoice_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TrigVoice {
      get { return trigVoice_; }
      set {
        trigVoice_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Group" field.</summary>
    public const int GroupFieldNumber = 5;
    private int group_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Group {
      get { return group_; }
      set {
        group_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerEventAction);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerEventAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (EventId != other.EventId) return false;
      if (TrigVoice != other.TrigVoice) return false;
      if (Desc != other.Desc) return false;
      if (Group != other.Group) 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 (EventId != 0) hash ^= EventId.GetHashCode();
      if (TrigVoice.Length != 0) hash ^= TrigVoice.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Group != 0) hash ^= Group.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.WriteInt32(Id);
      }
      if (EventId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(EventId);
      }
      if (TrigVoice.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TrigVoice);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Group != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Group);
      }
      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.WriteInt32(Id);
      }
      if (EventId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(EventId);
      }
      if (TrigVoice.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(TrigVoice);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Group != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Group);
      }
      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.ComputeInt32Size(Id);
      }
      if (EventId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EventId);
      }
      if (TrigVoice.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TrigVoice);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerEventAction other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.EventId != 0) {
        EventId = other.EventId;
      }
      if (other.TrigVoice.Length != 0) {
        TrigVoice = other.TrigVoice;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            EventId = input.ReadInt32();
            break;
          }
          case 26: {
            TrigVoice = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Group = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            EventId = input.ReadInt32();
            break;
          }
          case 26: {
            TrigVoice = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Group = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerEventAction : pb::IMessage<table_StarTowerEventAction>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerEventAction> _parser = new pb::MessageParser<table_StarTowerEventAction>(() => new table_StarTowerEventAction());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerEventAction> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[389]; }
    }

    [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 table_StarTowerEventAction() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEventAction(table_StarTowerEventAction other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEventAction Clone() {
      return new table_StarTowerEventAction(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerEventAction> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerEventAction.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerEventAction> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerEventAction>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerEventAction> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerEventAction);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerEventAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerEventAction other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerEventOptionAction : pb::IMessage<StarTowerEventOptionAction>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerEventOptionAction> _parser = new pb::MessageParser<StarTowerEventOptionAction>(() => new StarTowerEventOptionAction());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerEventOptionAction> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[390]; }
    }

    [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 StarTowerEventOptionAction() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEventOptionAction(StarTowerEventOptionAction other) : this() {
      id_ = other.id_;
      optionId_ = other.optionId_;
      desc_ = other.desc_;
      group_ = other.group_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerEventOptionAction Clone() {
      return new StarTowerEventOptionAction(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "OptionId" field.</summary>
    public const int OptionIdFieldNumber = 2;
    private int optionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OptionId {
      get { return optionId_; }
      set {
        optionId_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Group" field.</summary>
    public const int GroupFieldNumber = 4;
    private int group_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Group {
      get { return group_; }
      set {
        group_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerEventOptionAction);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerEventOptionAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (OptionId != other.OptionId) return false;
      if (Desc != other.Desc) return false;
      if (Group != other.Group) 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 (OptionId != 0) hash ^= OptionId.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Group != 0) hash ^= Group.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.WriteInt32(Id);
      }
      if (OptionId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(OptionId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Group != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Group);
      }
      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.WriteInt32(Id);
      }
      if (OptionId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(OptionId);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Group != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Group);
      }
      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.ComputeInt32Size(Id);
      }
      if (OptionId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OptionId);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerEventOptionAction other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.OptionId != 0) {
        OptionId = other.OptionId;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            OptionId = input.ReadInt32();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Group = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            OptionId = input.ReadInt32();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Group = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerEventOptionAction : pb::IMessage<table_StarTowerEventOptionAction>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerEventOptionAction> _parser = new pb::MessageParser<table_StarTowerEventOptionAction>(() => new table_StarTowerEventOptionAction());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerEventOptionAction> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[391]; }
    }

    [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 table_StarTowerEventOptionAction() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEventOptionAction(table_StarTowerEventOptionAction other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerEventOptionAction Clone() {
      return new table_StarTowerEventOptionAction(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerEventOptionAction> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerEventOptionAction.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerEventOptionAction> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerEventOptionAction>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerEventOptionAction> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerEventOptionAction);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerEventOptionAction other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerEventOptionAction other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerFloor : pb::IMessage<StarTowerFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerFloor> _parser = new pb::MessageParser<StarTowerFloor>(() => new StarTowerFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[392]; }
    }

    [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 StarTowerFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloor(StarTowerFloor other) : this() {
      id_ = other.id_;
      commonGameplayType_ = other.commonGameplayType_;
      commonMonsterSet_ = other.commonMonsterSet_;
      limitTime_ = other.limitTime_;
      dropObjectGroupId_ = other.dropObjectGroupId_;
      dropObjectRate_ = other.dropObjectRate_;
      dropMaxNum_ = other.dropMaxNum_;
      monsterSurplusNum_ = other.monsterSurplusNum_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloor Clone() {
      return new StarTowerFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CommonGameplayType" field.</summary>
    public const int CommonGameplayTypeFieldNumber = 2;
    private int commonGameplayType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CommonGameplayType {
      get { return commonGameplayType_; }
      set {
        commonGameplayType_ = value;
      }
    }

    /// <summary>Field number for the "CommonMonsterSet" field.</summary>
    public const int CommonMonsterSetFieldNumber = 3;
    private string commonMonsterSet_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CommonMonsterSet {
      get { return commonMonsterSet_; }
      set {
        commonMonsterSet_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LimitTime" field.</summary>
    public const int LimitTimeFieldNumber = 4;
    private int limitTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LimitTime {
      get { return limitTime_; }
      set {
        limitTime_ = value;
      }
    }

    /// <summary>Field number for the "DropObjectGroupId" field.</summary>
    public const int DropObjectGroupIdFieldNumber = 5;
    private int dropObjectGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropObjectGroupId {
      get { return dropObjectGroupId_; }
      set {
        dropObjectGroupId_ = value;
      }
    }

    /// <summary>Field number for the "DropObjectRate" field.</summary>
    public const int DropObjectRateFieldNumber = 6;
    private int dropObjectRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropObjectRate {
      get { return dropObjectRate_; }
      set {
        dropObjectRate_ = value;
      }
    }

    /// <summary>Field number for the "DropMaxNum" field.</summary>
    public const int DropMaxNumFieldNumber = 7;
    private int dropMaxNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DropMaxNum {
      get { return dropMaxNum_; }
      set {
        dropMaxNum_ = value;
      }
    }

    /// <summary>Field number for the "MonsterSurplusNum" field.</summary>
    public const int MonsterSurplusNumFieldNumber = 8;
    private int monsterSurplusNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterSurplusNum {
      get { return monsterSurplusNum_; }
      set {
        monsterSurplusNum_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CommonGameplayType != other.CommonGameplayType) return false;
      if (CommonMonsterSet != other.CommonMonsterSet) return false;
      if (LimitTime != other.LimitTime) return false;
      if (DropObjectGroupId != other.DropObjectGroupId) return false;
      if (DropObjectRate != other.DropObjectRate) return false;
      if (DropMaxNum != other.DropMaxNum) return false;
      if (MonsterSurplusNum != other.MonsterSurplusNum) 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 (CommonGameplayType != 0) hash ^= CommonGameplayType.GetHashCode();
      if (CommonMonsterSet.Length != 0) hash ^= CommonMonsterSet.GetHashCode();
      if (LimitTime != 0) hash ^= LimitTime.GetHashCode();
      if (DropObjectGroupId != 0) hash ^= DropObjectGroupId.GetHashCode();
      if (DropObjectRate != 0) hash ^= DropObjectRate.GetHashCode();
      if (DropMaxNum != 0) hash ^= DropMaxNum.GetHashCode();
      if (MonsterSurplusNum != 0) hash ^= MonsterSurplusNum.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.WriteInt32(Id);
      }
      if (CommonGameplayType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CommonGameplayType);
      }
      if (CommonMonsterSet.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CommonMonsterSet);
      }
      if (LimitTime != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LimitTime);
      }
      if (DropObjectGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DropObjectGroupId);
      }
      if (DropObjectRate != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(DropObjectRate);
      }
      if (DropMaxNum != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(DropMaxNum);
      }
      if (MonsterSurplusNum != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MonsterSurplusNum);
      }
      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.WriteInt32(Id);
      }
      if (CommonGameplayType != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CommonGameplayType);
      }
      if (CommonMonsterSet.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(CommonMonsterSet);
      }
      if (LimitTime != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LimitTime);
      }
      if (DropObjectGroupId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DropObjectGroupId);
      }
      if (DropObjectRate != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(DropObjectRate);
      }
      if (DropMaxNum != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(DropMaxNum);
      }
      if (MonsterSurplusNum != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(MonsterSurplusNum);
      }
      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.ComputeInt32Size(Id);
      }
      if (CommonGameplayType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CommonGameplayType);
      }
      if (CommonMonsterSet.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CommonMonsterSet);
      }
      if (LimitTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LimitTime);
      }
      if (DropObjectGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropObjectGroupId);
      }
      if (DropObjectRate != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropObjectRate);
      }
      if (DropMaxNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DropMaxNum);
      }
      if (MonsterSurplusNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterSurplusNum);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CommonGameplayType != 0) {
        CommonGameplayType = other.CommonGameplayType;
      }
      if (other.CommonMonsterSet.Length != 0) {
        CommonMonsterSet = other.CommonMonsterSet;
      }
      if (other.LimitTime != 0) {
        LimitTime = other.LimitTime;
      }
      if (other.DropObjectGroupId != 0) {
        DropObjectGroupId = other.DropObjectGroupId;
      }
      if (other.DropObjectRate != 0) {
        DropObjectRate = other.DropObjectRate;
      }
      if (other.DropMaxNum != 0) {
        DropMaxNum = other.DropMaxNum;
      }
      if (other.MonsterSurplusNum != 0) {
        MonsterSurplusNum = other.MonsterSurplusNum;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CommonGameplayType = input.ReadInt32();
            break;
          }
          case 26: {
            CommonMonsterSet = input.ReadString();
            break;
          }
          case 32: {
            LimitTime = input.ReadInt32();
            break;
          }
          case 40: {
            DropObjectGroupId = input.ReadInt32();
            break;
          }
          case 48: {
            DropObjectRate = input.ReadInt32();
            break;
          }
          case 56: {
            DropMaxNum = input.ReadInt32();
            break;
          }
          case 64: {
            MonsterSurplusNum = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CommonGameplayType = input.ReadInt32();
            break;
          }
          case 26: {
            CommonMonsterSet = input.ReadString();
            break;
          }
          case 32: {
            LimitTime = input.ReadInt32();
            break;
          }
          case 40: {
            DropObjectGroupId = input.ReadInt32();
            break;
          }
          case 48: {
            DropObjectRate = input.ReadInt32();
            break;
          }
          case 56: {
            DropMaxNum = input.ReadInt32();
            break;
          }
          case 64: {
            MonsterSurplusNum = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerFloor : pb::IMessage<table_StarTowerFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerFloor> _parser = new pb::MessageParser<table_StarTowerFloor>(() => new table_StarTowerFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[393]; }
    }

    [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 table_StarTowerFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloor(table_StarTowerFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloor Clone() {
      return new table_StarTowerFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerFloor> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerFloorAward : pb::IMessage<StarTowerFloorAward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerFloorAward> _parser = new pb::MessageParser<StarTowerFloorAward>(() => new StarTowerFloorAward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerFloorAward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[394]; }
    }

    [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 StarTowerFloorAward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloorAward(StarTowerFloorAward other) : this() {
      id_ = other.id_;
      roguelikeId_ = other.roguelikeId_;
      combatFloor_ = other.combatFloor_;
      interiorCurrencyQuantity_ = other.interiorCurrencyQuantity_;
      needEnergy_ = other.needEnergy_;
      affinity_ = other.affinity_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloorAward Clone() {
      return new StarTowerFloorAward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RoguelikeId" field.</summary>
    public const int RoguelikeIdFieldNumber = 2;
    private int roguelikeId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoguelikeId {
      get { return roguelikeId_; }
      set {
        roguelikeId_ = value;
      }
    }

    /// <summary>Field number for the "CombatFloor" field.</summary>
    public const int CombatFloorFieldNumber = 3;
    private int combatFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CombatFloor {
      get { return combatFloor_; }
      set {
        combatFloor_ = value;
      }
    }

    /// <summary>Field number for the "InteriorCurrencyQuantity" field.</summary>
    public const int InteriorCurrencyQuantityFieldNumber = 4;
    private int interiorCurrencyQuantity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int InteriorCurrencyQuantity {
      get { return interiorCurrencyQuantity_; }
      set {
        interiorCurrencyQuantity_ = value;
      }
    }

    /// <summary>Field number for the "NeedEnergy" field.</summary>
    public const int NeedEnergyFieldNumber = 5;
    private int needEnergy_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedEnergy {
      get { return needEnergy_; }
      set {
        needEnergy_ = value;
      }
    }

    /// <summary>Field number for the "Affinity" field.</summary>
    public const int AffinityFieldNumber = 6;
    private int affinity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Affinity {
      get { return affinity_; }
      set {
        affinity_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerFloorAward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerFloorAward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RoguelikeId != other.RoguelikeId) return false;
      if (CombatFloor != other.CombatFloor) return false;
      if (InteriorCurrencyQuantity != other.InteriorCurrencyQuantity) return false;
      if (NeedEnergy != other.NeedEnergy) return false;
      if (Affinity != other.Affinity) 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 (RoguelikeId != 0) hash ^= RoguelikeId.GetHashCode();
      if (CombatFloor != 0) hash ^= CombatFloor.GetHashCode();
      if (InteriorCurrencyQuantity != 0) hash ^= InteriorCurrencyQuantity.GetHashCode();
      if (NeedEnergy != 0) hash ^= NeedEnergy.GetHashCode();
      if (Affinity != 0) hash ^= Affinity.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.WriteInt32(Id);
      }
      if (RoguelikeId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RoguelikeId);
      }
      if (CombatFloor != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CombatFloor);
      }
      if (InteriorCurrencyQuantity != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(InteriorCurrencyQuantity);
      }
      if (NeedEnergy != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(NeedEnergy);
      }
      if (Affinity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Affinity);
      }
      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.WriteInt32(Id);
      }
      if (RoguelikeId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RoguelikeId);
      }
      if (CombatFloor != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CombatFloor);
      }
      if (InteriorCurrencyQuantity != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(InteriorCurrencyQuantity);
      }
      if (NeedEnergy != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(NeedEnergy);
      }
      if (Affinity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Affinity);
      }
      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.ComputeInt32Size(Id);
      }
      if (RoguelikeId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoguelikeId);
      }
      if (CombatFloor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CombatFloor);
      }
      if (InteriorCurrencyQuantity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(InteriorCurrencyQuantity);
      }
      if (NeedEnergy != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedEnergy);
      }
      if (Affinity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Affinity);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerFloorAward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RoguelikeId != 0) {
        RoguelikeId = other.RoguelikeId;
      }
      if (other.CombatFloor != 0) {
        CombatFloor = other.CombatFloor;
      }
      if (other.InteriorCurrencyQuantity != 0) {
        InteriorCurrencyQuantity = other.InteriorCurrencyQuantity;
      }
      if (other.NeedEnergy != 0) {
        NeedEnergy = other.NeedEnergy;
      }
      if (other.Affinity != 0) {
        Affinity = other.Affinity;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            RoguelikeId = input.ReadInt32();
            break;
          }
          case 24: {
            CombatFloor = input.ReadInt32();
            break;
          }
          case 32: {
            InteriorCurrencyQuantity = input.ReadInt32();
            break;
          }
          case 40: {
            NeedEnergy = input.ReadInt32();
            break;
          }
          case 48: {
            Affinity = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RoguelikeId = input.ReadInt32();
            break;
          }
          case 24: {
            CombatFloor = input.ReadInt32();
            break;
          }
          case 32: {
            InteriorCurrencyQuantity = input.ReadInt32();
            break;
          }
          case 40: {
            NeedEnergy = input.ReadInt32();
            break;
          }
          case 48: {
            Affinity = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerFloorAward : pb::IMessage<table_StarTowerFloorAward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerFloorAward> _parser = new pb::MessageParser<table_StarTowerFloorAward>(() => new table_StarTowerFloorAward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerFloorAward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[395]; }
    }

    [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 table_StarTowerFloorAward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloorAward(table_StarTowerFloorAward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloorAward Clone() {
      return new table_StarTowerFloorAward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerFloorAward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerFloorAward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerFloorAward> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerFloorAward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerFloorAward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerFloorAward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerFloorAward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerFloorAward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerFloorExp : pb::IMessage<StarTowerFloorExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerFloorExp> _parser = new pb::MessageParser<StarTowerFloorExp>(() => new StarTowerFloorExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerFloorExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[396]; }
    }

    [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 StarTowerFloorExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloorExp(StarTowerFloorExp other) : this() {
      id_ = other.id_;
      starTowerId_ = other.starTowerId_;
      stage_ = other.stage_;
      normalExp_ = other.normalExp_;
      eliteExp_ = other.eliteExp_;
      bossExp_ = other.bossExp_;
      finalBossExp_ = other.finalBossExp_;
      dangerExp_ = other.dangerExp_;
      horrorExp_ = other.horrorExp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloorExp Clone() {
      return new StarTowerFloorExp(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "StarTowerId" field.</summary>
    public const int StarTowerIdFieldNumber = 2;
    private int starTowerId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StarTowerId {
      get { return starTowerId_; }
      set {
        starTowerId_ = value;
      }
    }

    /// <summary>Field number for the "Stage" field.</summary>
    public const int StageFieldNumber = 3;
    private int stage_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Stage {
      get { return stage_; }
      set {
        stage_ = value;
      }
    }

    /// <summary>Field number for the "NormalExp" field.</summary>
    public const int NormalExpFieldNumber = 4;
    private int normalExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NormalExp {
      get { return normalExp_; }
      set {
        normalExp_ = value;
      }
    }

    /// <summary>Field number for the "EliteExp" field.</summary>
    public const int EliteExpFieldNumber = 5;
    private int eliteExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EliteExp {
      get { return eliteExp_; }
      set {
        eliteExp_ = value;
      }
    }

    /// <summary>Field number for the "BossExp" field.</summary>
    public const int BossExpFieldNumber = 6;
    private int bossExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BossExp {
      get { return bossExp_; }
      set {
        bossExp_ = value;
      }
    }

    /// <summary>Field number for the "FinalBossExp" field.</summary>
    public const int FinalBossExpFieldNumber = 7;
    private int finalBossExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FinalBossExp {
      get { return finalBossExp_; }
      set {
        finalBossExp_ = value;
      }
    }

    /// <summary>Field number for the "DangerExp" field.</summary>
    public const int DangerExpFieldNumber = 8;
    private int dangerExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DangerExp {
      get { return dangerExp_; }
      set {
        dangerExp_ = value;
      }
    }

    /// <summary>Field number for the "HorrorExp" field.</summary>
    public const int HorrorExpFieldNumber = 9;
    private int horrorExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int HorrorExp {
      get { return horrorExp_; }
      set {
        horrorExp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerFloorExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerFloorExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (StarTowerId != other.StarTowerId) return false;
      if (Stage != other.Stage) return false;
      if (NormalExp != other.NormalExp) return false;
      if (EliteExp != other.EliteExp) return false;
      if (BossExp != other.BossExp) return false;
      if (FinalBossExp != other.FinalBossExp) return false;
      if (DangerExp != other.DangerExp) return false;
      if (HorrorExp != other.HorrorExp) 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 (StarTowerId != 0) hash ^= StarTowerId.GetHashCode();
      if (Stage != 0) hash ^= Stage.GetHashCode();
      if (NormalExp != 0) hash ^= NormalExp.GetHashCode();
      if (EliteExp != 0) hash ^= EliteExp.GetHashCode();
      if (BossExp != 0) hash ^= BossExp.GetHashCode();
      if (FinalBossExp != 0) hash ^= FinalBossExp.GetHashCode();
      if (DangerExp != 0) hash ^= DangerExp.GetHashCode();
      if (HorrorExp != 0) hash ^= HorrorExp.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.WriteInt32(Id);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(StarTowerId);
      }
      if (Stage != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Stage);
      }
      if (NormalExp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NormalExp);
      }
      if (EliteExp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EliteExp);
      }
      if (BossExp != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BossExp);
      }
      if (FinalBossExp != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FinalBossExp);
      }
      if (DangerExp != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(DangerExp);
      }
      if (HorrorExp != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(HorrorExp);
      }
      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.WriteInt32(Id);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(StarTowerId);
      }
      if (Stage != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Stage);
      }
      if (NormalExp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NormalExp);
      }
      if (EliteExp != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EliteExp);
      }
      if (BossExp != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BossExp);
      }
      if (FinalBossExp != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FinalBossExp);
      }
      if (DangerExp != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(DangerExp);
      }
      if (HorrorExp != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(HorrorExp);
      }
      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.ComputeInt32Size(Id);
      }
      if (StarTowerId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StarTowerId);
      }
      if (Stage != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stage);
      }
      if (NormalExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NormalExp);
      }
      if (EliteExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EliteExp);
      }
      if (BossExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BossExp);
      }
      if (FinalBossExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FinalBossExp);
      }
      if (DangerExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DangerExp);
      }
      if (HorrorExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(HorrorExp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerFloorExp other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.StarTowerId != 0) {
        StarTowerId = other.StarTowerId;
      }
      if (other.Stage != 0) {
        Stage = other.Stage;
      }
      if (other.NormalExp != 0) {
        NormalExp = other.NormalExp;
      }
      if (other.EliteExp != 0) {
        EliteExp = other.EliteExp;
      }
      if (other.BossExp != 0) {
        BossExp = other.BossExp;
      }
      if (other.FinalBossExp != 0) {
        FinalBossExp = other.FinalBossExp;
      }
      if (other.DangerExp != 0) {
        DangerExp = other.DangerExp;
      }
      if (other.HorrorExp != 0) {
        HorrorExp = other.HorrorExp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 24: {
            Stage = input.ReadInt32();
            break;
          }
          case 32: {
            NormalExp = input.ReadInt32();
            break;
          }
          case 40: {
            EliteExp = input.ReadInt32();
            break;
          }
          case 48: {
            BossExp = input.ReadInt32();
            break;
          }
          case 56: {
            FinalBossExp = input.ReadInt32();
            break;
          }
          case 64: {
            DangerExp = input.ReadInt32();
            break;
          }
          case 72: {
            HorrorExp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 24: {
            Stage = input.ReadInt32();
            break;
          }
          case 32: {
            NormalExp = input.ReadInt32();
            break;
          }
          case 40: {
            EliteExp = input.ReadInt32();
            break;
          }
          case 48: {
            BossExp = input.ReadInt32();
            break;
          }
          case 56: {
            FinalBossExp = input.ReadInt32();
            break;
          }
          case 64: {
            DangerExp = input.ReadInt32();
            break;
          }
          case 72: {
            HorrorExp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerFloorExp : pb::IMessage<table_StarTowerFloorExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerFloorExp> _parser = new pb::MessageParser<table_StarTowerFloorExp>(() => new table_StarTowerFloorExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerFloorExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[397]; }
    }

    [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 table_StarTowerFloorExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloorExp(table_StarTowerFloorExp other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloorExp Clone() {
      return new table_StarTowerFloorExp(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerFloorExp> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerFloorExp.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerFloorExp> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerFloorExp>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerFloorExp> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerFloorExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerFloorExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerFloorExp other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerFloorSet : pb::IMessage<StarTowerFloorSet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerFloorSet> _parser = new pb::MessageParser<StarTowerFloorSet>(() => new StarTowerFloorSet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerFloorSet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[398]; }
    }

    [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 StarTowerFloorSet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloorSet(StarTowerFloorSet other) : this() {
      id_ = other.id_;
      battleLvs_ = other.battleLvs_;
      stage_ = other.stage_.Clone();
      roomType_ = other.roomType_;
      mapID_ = other.mapID_.Clone();
      floorID_ = other.floorID_.Clone();
      monsterLv_ = other.monsterLv_;
      themeSkillLv_ = other.themeSkillLv_;
      weight_ = other.weight_;
      mutexGroup_ = other.mutexGroup_.Clone();
      specialModeId_ = other.specialModeId_;
      monsterGroupBlacklist_ = other.monsterGroupBlacklist_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerFloorSet Clone() {
      return new StarTowerFloorSet(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "BattleLvs" field.</summary>
    public const int BattleLvsFieldNumber = 2;
    private int battleLvs_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BattleLvs {
      get { return battleLvs_; }
      set {
        battleLvs_ = value;
      }
    }

    /// <summary>Field number for the "Stage" field.</summary>
    public const int StageFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_stage_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> stage_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Stage {
      get { return stage_; }
    }

    /// <summary>Field number for the "RoomType" field.</summary>
    public const int RoomTypeFieldNumber = 4;
    private int roomType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoomType {
      get { return roomType_; }
      set {
        roomType_ = value;
      }
    }

    /// <summary>Field number for the "MapID" field.</summary>
    public const int MapIDFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_mapID_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> mapID_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> MapID {
      get { return mapID_; }
    }

    /// <summary>Field number for the "FloorID" field.</summary>
    public const int FloorIDFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_floorID_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> floorID_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FloorID {
      get { return floorID_; }
    }

    /// <summary>Field number for the "MonsterLv" field.</summary>
    public const int MonsterLvFieldNumber = 7;
    private int monsterLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLv {
      get { return monsterLv_; }
      set {
        monsterLv_ = value;
      }
    }

    /// <summary>Field number for the "ThemeSkillLv" field.</summary>
    public const int ThemeSkillLvFieldNumber = 8;
    private int themeSkillLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ThemeSkillLv {
      get { return themeSkillLv_; }
      set {
        themeSkillLv_ = value;
      }
    }

    /// <summary>Field number for the "Weight" field.</summary>
    public const int WeightFieldNumber = 9;
    private int weight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Weight {
      get { return weight_; }
      set {
        weight_ = value;
      }
    }

    /// <summary>Field number for the "MutexGroup" field.</summary>
    public const int MutexGroupFieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_mutexGroup_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> mutexGroup_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> MutexGroup {
      get { return mutexGroup_; }
    }

    /// <summary>Field number for the "SpecialModeId" field.</summary>
    public const int SpecialModeIdFieldNumber = 11;
    private int specialModeId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SpecialModeId {
      get { return specialModeId_; }
      set {
        specialModeId_ = value;
      }
    }

    /// <summary>Field number for the "MonsterGroupBlacklist" field.</summary>
    public const int MonsterGroupBlacklistFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_monsterGroupBlacklist_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> monsterGroupBlacklist_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> MonsterGroupBlacklist {
      get { return monsterGroupBlacklist_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerFloorSet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerFloorSet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (BattleLvs != other.BattleLvs) return false;
      if(!stage_.Equals(other.stage_)) return false;
      if (RoomType != other.RoomType) return false;
      if(!mapID_.Equals(other.mapID_)) return false;
      if(!floorID_.Equals(other.floorID_)) return false;
      if (MonsterLv != other.MonsterLv) return false;
      if (ThemeSkillLv != other.ThemeSkillLv) return false;
      if (Weight != other.Weight) return false;
      if(!mutexGroup_.Equals(other.mutexGroup_)) return false;
      if (SpecialModeId != other.SpecialModeId) return false;
      if(!monsterGroupBlacklist_.Equals(other.monsterGroupBlacklist_)) 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 (BattleLvs != 0) hash ^= BattleLvs.GetHashCode();
      hash ^= stage_.GetHashCode();
      if (RoomType != 0) hash ^= RoomType.GetHashCode();
      hash ^= mapID_.GetHashCode();
      hash ^= floorID_.GetHashCode();
      if (MonsterLv != 0) hash ^= MonsterLv.GetHashCode();
      if (ThemeSkillLv != 0) hash ^= ThemeSkillLv.GetHashCode();
      if (Weight != 0) hash ^= Weight.GetHashCode();
      hash ^= mutexGroup_.GetHashCode();
      if (SpecialModeId != 0) hash ^= SpecialModeId.GetHashCode();
      hash ^= monsterGroupBlacklist_.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.WriteInt32(Id);
      }
      if (BattleLvs != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BattleLvs);
      }
      stage_.WriteTo(output, _repeated_stage_codec);
      if (RoomType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RoomType);
      }
      mapID_.WriteTo(output, _repeated_mapID_codec);
      floorID_.WriteTo(output, _repeated_floorID_codec);
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      if (ThemeSkillLv != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ThemeSkillLv);
      }
      if (Weight != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Weight);
      }
      mutexGroup_.WriteTo(output, _repeated_mutexGroup_codec);
      if (SpecialModeId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(SpecialModeId);
      }
      monsterGroupBlacklist_.WriteTo(output, _repeated_monsterGroupBlacklist_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (BattleLvs != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BattleLvs);
      }
      stage_.WriteTo(ref output, _repeated_stage_codec);
      if (RoomType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RoomType);
      }
      mapID_.WriteTo(ref output, _repeated_mapID_codec);
      floorID_.WriteTo(ref output, _repeated_floorID_codec);
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      if (ThemeSkillLv != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(ThemeSkillLv);
      }
      if (Weight != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Weight);
      }
      mutexGroup_.WriteTo(ref output, _repeated_mutexGroup_codec);
      if (SpecialModeId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(SpecialModeId);
      }
      monsterGroupBlacklist_.WriteTo(ref output, _repeated_monsterGroupBlacklist_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (BattleLvs != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BattleLvs);
      }
      size += stage_.CalculateSize(_repeated_stage_codec);
      if (RoomType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomType);
      }
      size += mapID_.CalculateSize(_repeated_mapID_codec);
      size += floorID_.CalculateSize(_repeated_floorID_codec);
      if (MonsterLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLv);
      }
      if (ThemeSkillLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ThemeSkillLv);
      }
      if (Weight != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Weight);
      }
      size += mutexGroup_.CalculateSize(_repeated_mutexGroup_codec);
      if (SpecialModeId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SpecialModeId);
      }
      size += monsterGroupBlacklist_.CalculateSize(_repeated_monsterGroupBlacklist_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerFloorSet other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.BattleLvs != 0) {
        BattleLvs = other.BattleLvs;
      }
      stage_.Add(other.stage_);
      if (other.RoomType != 0) {
        RoomType = other.RoomType;
      }
      mapID_.Add(other.mapID_);
      floorID_.Add(other.floorID_);
      if (other.MonsterLv != 0) {
        MonsterLv = other.MonsterLv;
      }
      if (other.ThemeSkillLv != 0) {
        ThemeSkillLv = other.ThemeSkillLv;
      }
      if (other.Weight != 0) {
        Weight = other.Weight;
      }
      mutexGroup_.Add(other.mutexGroup_);
      if (other.SpecialModeId != 0) {
        SpecialModeId = other.SpecialModeId;
      }
      monsterGroupBlacklist_.Add(other.monsterGroupBlacklist_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            BattleLvs = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            stage_.AddEntriesFrom(input, _repeated_stage_codec);
            break;
          }
          case 32: {
            RoomType = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            mapID_.AddEntriesFrom(input, _repeated_mapID_codec);
            break;
          }
          case 50:
          case 48: {
            floorID_.AddEntriesFrom(input, _repeated_floorID_codec);
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 64: {
            ThemeSkillLv = input.ReadInt32();
            break;
          }
          case 72: {
            Weight = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            mutexGroup_.AddEntriesFrom(input, _repeated_mutexGroup_codec);
            break;
          }
          case 88: {
            SpecialModeId = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            monsterGroupBlacklist_.AddEntriesFrom(input, _repeated_monsterGroupBlacklist_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            BattleLvs = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            stage_.AddEntriesFrom(ref input, _repeated_stage_codec);
            break;
          }
          case 32: {
            RoomType = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            mapID_.AddEntriesFrom(ref input, _repeated_mapID_codec);
            break;
          }
          case 50:
          case 48: {
            floorID_.AddEntriesFrom(ref input, _repeated_floorID_codec);
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 64: {
            ThemeSkillLv = input.ReadInt32();
            break;
          }
          case 72: {
            Weight = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            mutexGroup_.AddEntriesFrom(ref input, _repeated_mutexGroup_codec);
            break;
          }
          case 88: {
            SpecialModeId = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            monsterGroupBlacklist_.AddEntriesFrom(ref input, _repeated_monsterGroupBlacklist_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerFloorSet : pb::IMessage<table_StarTowerFloorSet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerFloorSet> _parser = new pb::MessageParser<table_StarTowerFloorSet>(() => new table_StarTowerFloorSet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerFloorSet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[399]; }
    }

    [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 table_StarTowerFloorSet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloorSet(table_StarTowerFloorSet other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerFloorSet Clone() {
      return new table_StarTowerFloorSet(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerFloorSet> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerFloorSet.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerFloorSet> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerFloorSet>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerFloorSet> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerFloorSet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerFloorSet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerFloorSet other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerGroup : pb::IMessage<StarTowerGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerGroup> _parser = new pb::MessageParser<StarTowerGroup>(() => new StarTowerGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[400]; }
    }

    [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 StarTowerGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerGroup(StarTowerGroup other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      eET_ = other.eET_.Clone();
      episode_ = other.episode_;
      sort_ = other.sort_;
      groupType_ = other.groupType_;
      groupTheme_ = other.groupTheme_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerGroup Clone() {
      return new StarTowerGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_eET_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> eET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EET {
      get { return eET_; }
    }

    /// <summary>Field number for the "Episode" field.</summary>
    public const int EpisodeFieldNumber = 4;
    private string episode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode {
      get { return episode_; }
      set {
        episode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 5;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "GroupType" field.</summary>
    public const int GroupTypeFieldNumber = 6;
    private int groupType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupType {
      get { return groupType_; }
      set {
        groupType_ = value;
      }
    }

    /// <summary>Field number for the "GroupTheme" field.</summary>
    public const int GroupThemeFieldNumber = 7;
    private int groupTheme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupTheme {
      get { return groupTheme_; }
      set {
        groupTheme_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if(!eET_.Equals(other.eET_)) return false;
      if (Episode != other.Episode) return false;
      if (Sort != other.Sort) return false;
      if (GroupType != other.GroupType) return false;
      if (GroupTheme != other.GroupTheme) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      hash ^= eET_.GetHashCode();
      if (Episode.Length != 0) hash ^= Episode.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (GroupType != 0) hash ^= GroupType.GetHashCode();
      if (GroupTheme != 0) hash ^= GroupTheme.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      eET_.WriteTo(output, _repeated_eET_codec);
      if (Episode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Episode);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      if (GroupType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GroupType);
      }
      if (GroupTheme != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GroupTheme);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      eET_.WriteTo(ref output, _repeated_eET_codec);
      if (Episode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Episode);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      if (GroupType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(GroupType);
      }
      if (GroupTheme != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GroupTheme);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      size += eET_.CalculateSize(_repeated_eET_codec);
      if (Episode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Episode);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (GroupType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupType);
      }
      if (GroupTheme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupTheme);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      eET_.Add(other.eET_);
      if (other.Episode.Length != 0) {
        Episode = other.Episode;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.GroupType != 0) {
        GroupType = other.GroupType;
      }
      if (other.GroupTheme != 0) {
        GroupTheme = other.GroupTheme;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            eET_.AddEntriesFrom(input, _repeated_eET_codec);
            break;
          }
          case 34: {
            Episode = input.ReadString();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
          case 48: {
            GroupType = input.ReadInt32();
            break;
          }
          case 56: {
            GroupTheme = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            eET_.AddEntriesFrom(ref input, _repeated_eET_codec);
            break;
          }
          case 34: {
            Episode = input.ReadString();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
          case 48: {
            GroupType = input.ReadInt32();
            break;
          }
          case 56: {
            GroupTheme = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerGroup : pb::IMessage<table_StarTowerGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerGroup> _parser = new pb::MessageParser<table_StarTowerGroup>(() => new table_StarTowerGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[401]; }
    }

    [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 table_StarTowerGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerGroup(table_StarTowerGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerGroup Clone() {
      return new table_StarTowerGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerGroup> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerGrowthGroup : pb::IMessage<StarTowerGrowthGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerGrowthGroup> _parser = new pb::MessageParser<StarTowerGrowthGroup>(() => new StarTowerGrowthGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerGrowthGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[402]; }
    }

    [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 StarTowerGrowthGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerGrowthGroup(StarTowerGrowthGroup other) : this() {
      id_ = other.id_;
      preGroup_ = other.preGroup_;
      worldClass_ = other.worldClass_;
      name_ = other.name_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerGrowthGroup Clone() {
      return new StarTowerGrowthGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "PreGroup" field.</summary>
    public const int PreGroupFieldNumber = 2;
    private int preGroup_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreGroup {
      get { return preGroup_; }
      set {
        preGroup_ = value;
      }
    }

    /// <summary>Field number for the "WorldClass" field.</summary>
    public const int WorldClassFieldNumber = 3;
    private int worldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WorldClass {
      get { return worldClass_; }
      set {
        worldClass_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = 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 StarTowerGrowthGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerGrowthGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (PreGroup != other.PreGroup) return false;
      if (WorldClass != other.WorldClass) return false;
      if (Name != other.Name) 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 (PreGroup != 0) hash ^= PreGroup.GetHashCode();
      if (WorldClass != 0) hash ^= WorldClass.GetHashCode();
      if (Name.Length != 0) hash ^= Name.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.WriteInt32(Id);
      }
      if (PreGroup != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PreGroup);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(WorldClass);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      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.WriteInt32(Id);
      }
      if (PreGroup != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(PreGroup);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(WorldClass);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      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.ComputeInt32Size(Id);
      }
      if (PreGroup != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreGroup);
      }
      if (WorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClass);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerGrowthGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.PreGroup != 0) {
        PreGroup = other.PreGroup;
      }
      if (other.WorldClass != 0) {
        WorldClass = other.WorldClass;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            PreGroup = input.ReadInt32();
            break;
          }
          case 24: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            PreGroup = input.ReadInt32();
            break;
          }
          case 24: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerGrowthGroup : pb::IMessage<table_StarTowerGrowthGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerGrowthGroup> _parser = new pb::MessageParser<table_StarTowerGrowthGroup>(() => new table_StarTowerGrowthGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerGrowthGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[403]; }
    }

    [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 table_StarTowerGrowthGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerGrowthGroup(table_StarTowerGrowthGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerGrowthGroup Clone() {
      return new table_StarTowerGrowthGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerGrowthGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerGrowthGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerGrowthGroup> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerGrowthGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerGrowthGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerGrowthGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerGrowthGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerGrowthGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerGrowthNode : pb::IMessage<StarTowerGrowthNode>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerGrowthNode> _parser = new pb::MessageParser<StarTowerGrowthNode>(() => new StarTowerGrowthNode());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerGrowthNode> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[404]; }
    }

    [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 StarTowerGrowthNode() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerGrowthNode(StarTowerGrowthNode other) : this() {
      id_ = other.id_;
      nodeId_ = other.nodeId_;
      group_ = other.group_;
      name_ = other.name_;
      isServer_ = other.isServer_;
      isClient_ = other.isClient_;
      type_ = other.type_;
      color_ = other.color_;
      preNodes_ = other.preNodes_.Clone();
      effectClient_ = other.effectClient_;
      clientParams_ = other.clientParams_;
      priority_ = other.priority_;
      icon_ = other.icon_;
      position_ = other.position_.Clone();
      desc_ = other.desc_;
      itemId1_ = other.itemId1_;
      itemQty1_ = other.itemQty1_;
      itemId2_ = other.itemId2_;
      itemQty2_ = other.itemQty2_;
      itemId3_ = other.itemId3_;
      itemQty3_ = other.itemQty3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerGrowthNode Clone() {
      return new StarTowerGrowthNode(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "NodeId" field.</summary>
    public const int NodeIdFieldNumber = 2;
    private int nodeId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NodeId {
      get { return nodeId_; }
      set {
        nodeId_ = value;
      }
    }

    /// <summary>Field number for the "Group" field.</summary>
    public const int GroupFieldNumber = 3;
    private int group_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Group {
      get { return group_; }
      set {
        group_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsServer" field.</summary>
    public const int IsServerFieldNumber = 5;
    private bool isServer_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsServer {
      get { return isServer_; }
      set {
        isServer_ = value;
      }
    }

    /// <summary>Field number for the "IsClient" field.</summary>
    public const int IsClientFieldNumber = 6;
    private bool isClient_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsClient {
      get { return isClient_; }
      set {
        isClient_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 7;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "Color" field.</summary>
    public const int ColorFieldNumber = 8;
    private int color_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Color {
      get { return color_; }
      set {
        color_ = value;
      }
    }

    /// <summary>Field number for the "PreNodes" field.</summary>
    public const int PreNodesFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_preNodes_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> preNodes_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PreNodes {
      get { return preNodes_; }
    }

    /// <summary>Field number for the "EffectClient" field.</summary>
    public const int EffectClientFieldNumber = 10;
    private int effectClient_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectClient {
      get { return effectClient_; }
      set {
        effectClient_ = value;
      }
    }

    /// <summary>Field number for the "ClientParams" field.</summary>
    public const int ClientParamsFieldNumber = 11;
    private string clientParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ClientParams {
      get { return clientParams_; }
      set {
        clientParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Priority" field.</summary>
    public const int PriorityFieldNumber = 12;
    private int priority_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Priority {
      get { return priority_; }
      set {
        priority_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 13;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Position" field.</summary>
    public const int PositionFieldNumber = 14;
    private static readonly pb::FieldCodec<int> _repeated_position_codec
        = pb::FieldCodec.ForInt32(114);
    private readonly pbc::RepeatedField<int> position_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Position {
      get { return position_; }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 15;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ItemId1" field.</summary>
    public const int ItemId1FieldNumber = 16;
    private int itemId1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId1 {
      get { return itemId1_; }
      set {
        itemId1_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty1" field.</summary>
    public const int ItemQty1FieldNumber = 17;
    private int itemQty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty1 {
      get { return itemQty1_; }
      set {
        itemQty1_ = value;
      }
    }

    /// <summary>Field number for the "ItemId2" field.</summary>
    public const int ItemId2FieldNumber = 18;
    private int itemId2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId2 {
      get { return itemId2_; }
      set {
        itemId2_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty2" field.</summary>
    public const int ItemQty2FieldNumber = 19;
    private int itemQty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty2 {
      get { return itemQty2_; }
      set {
        itemQty2_ = value;
      }
    }

    /// <summary>Field number for the "ItemId3" field.</summary>
    public const int ItemId3FieldNumber = 20;
    private int itemId3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId3 {
      get { return itemId3_; }
      set {
        itemId3_ = value;
      }
    }

    /// <summary>Field number for the "ItemQty3" field.</summary>
    public const int ItemQty3FieldNumber = 21;
    private int itemQty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemQty3 {
      get { return itemQty3_; }
      set {
        itemQty3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerGrowthNode);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerGrowthNode other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (NodeId != other.NodeId) return false;
      if (Group != other.Group) return false;
      if (Name != other.Name) return false;
      if (IsServer != other.IsServer) return false;
      if (IsClient != other.IsClient) return false;
      if (Type != other.Type) return false;
      if (Color != other.Color) return false;
      if(!preNodes_.Equals(other.preNodes_)) return false;
      if (EffectClient != other.EffectClient) return false;
      if (ClientParams != other.ClientParams) return false;
      if (Priority != other.Priority) return false;
      if (Icon != other.Icon) return false;
      if(!position_.Equals(other.position_)) return false;
      if (Desc != other.Desc) return false;
      if (ItemId1 != other.ItemId1) return false;
      if (ItemQty1 != other.ItemQty1) return false;
      if (ItemId2 != other.ItemId2) return false;
      if (ItemQty2 != other.ItemQty2) return false;
      if (ItemId3 != other.ItemId3) return false;
      if (ItemQty3 != other.ItemQty3) 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 (NodeId != 0) hash ^= NodeId.GetHashCode();
      if (Group != 0) hash ^= Group.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (IsServer != false) hash ^= IsServer.GetHashCode();
      if (IsClient != false) hash ^= IsClient.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (Color != 0) hash ^= Color.GetHashCode();
      hash ^= preNodes_.GetHashCode();
      if (EffectClient != 0) hash ^= EffectClient.GetHashCode();
      if (ClientParams.Length != 0) hash ^= ClientParams.GetHashCode();
      if (Priority != 0) hash ^= Priority.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      hash ^= position_.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (ItemId1 != 0) hash ^= ItemId1.GetHashCode();
      if (ItemQty1 != 0) hash ^= ItemQty1.GetHashCode();
      if (ItemId2 != 0) hash ^= ItemId2.GetHashCode();
      if (ItemQty2 != 0) hash ^= ItemQty2.GetHashCode();
      if (ItemId3 != 0) hash ^= ItemId3.GetHashCode();
      if (ItemQty3 != 0) hash ^= ItemQty3.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.WriteInt32(Id);
      }
      if (NodeId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NodeId);
      }
      if (Group != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Group);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (IsServer != false) {
        output.WriteRawTag(40);
        output.WriteBool(IsServer);
      }
      if (IsClient != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsClient);
      }
      if (Type != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Type);
      }
      if (Color != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Color);
      }
      preNodes_.WriteTo(output, _repeated_preNodes_codec);
      if (EffectClient != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(EffectClient);
      }
      if (ClientParams.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(ClientParams);
      }
      if (Priority != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Priority);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Icon);
      }
      position_.WriteTo(output, _repeated_position_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Desc);
      }
      if (ItemId1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ItemId1);
      }
      if (ItemQty1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ItemQty1);
      }
      if (ItemId2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(ItemId2);
      }
      if (ItemQty2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ItemQty2);
      }
      if (ItemId3 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(ItemId3);
      }
      if (ItemQty3 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(ItemQty3);
      }
      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.WriteInt32(Id);
      }
      if (NodeId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(NodeId);
      }
      if (Group != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Group);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (IsServer != false) {
        output.WriteRawTag(40);
        output.WriteBool(IsServer);
      }
      if (IsClient != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsClient);
      }
      if (Type != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Type);
      }
      if (Color != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Color);
      }
      preNodes_.WriteTo(ref output, _repeated_preNodes_codec);
      if (EffectClient != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(EffectClient);
      }
      if (ClientParams.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(ClientParams);
      }
      if (Priority != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Priority);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Icon);
      }
      position_.WriteTo(ref output, _repeated_position_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Desc);
      }
      if (ItemId1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ItemId1);
      }
      if (ItemQty1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ItemQty1);
      }
      if (ItemId2 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(ItemId2);
      }
      if (ItemQty2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ItemQty2);
      }
      if (ItemId3 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(ItemId3);
      }
      if (ItemQty3 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(ItemQty3);
      }
      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.ComputeInt32Size(Id);
      }
      if (NodeId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NodeId);
      }
      if (Group != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Group);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (IsServer != false) {
        size += 1 + 1;
      }
      if (IsClient != false) {
        size += 1 + 1;
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (Color != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Color);
      }
      size += preNodes_.CalculateSize(_repeated_preNodes_codec);
      if (EffectClient != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectClient);
      }
      if (ClientParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ClientParams);
      }
      if (Priority != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Priority);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      size += position_.CalculateSize(_repeated_position_codec);
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (ItemId1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ItemId1);
      }
      if (ItemQty1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ItemQty1);
      }
      if (ItemId2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ItemId2);
      }
      if (ItemQty2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ItemQty2);
      }
      if (ItemId3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ItemId3);
      }
      if (ItemQty3 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ItemQty3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerGrowthNode other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.NodeId != 0) {
        NodeId = other.NodeId;
      }
      if (other.Group != 0) {
        Group = other.Group;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.IsServer != false) {
        IsServer = other.IsServer;
      }
      if (other.IsClient != false) {
        IsClient = other.IsClient;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.Color != 0) {
        Color = other.Color;
      }
      preNodes_.Add(other.preNodes_);
      if (other.EffectClient != 0) {
        EffectClient = other.EffectClient;
      }
      if (other.ClientParams.Length != 0) {
        ClientParams = other.ClientParams;
      }
      if (other.Priority != 0) {
        Priority = other.Priority;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      position_.Add(other.position_);
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.ItemId1 != 0) {
        ItemId1 = other.ItemId1;
      }
      if (other.ItemQty1 != 0) {
        ItemQty1 = other.ItemQty1;
      }
      if (other.ItemId2 != 0) {
        ItemId2 = other.ItemId2;
      }
      if (other.ItemQty2 != 0) {
        ItemQty2 = other.ItemQty2;
      }
      if (other.ItemId3 != 0) {
        ItemId3 = other.ItemId3;
      }
      if (other.ItemQty3 != 0) {
        ItemQty3 = other.ItemQty3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            NodeId = input.ReadInt32();
            break;
          }
          case 24: {
            Group = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            IsServer = input.ReadBool();
            break;
          }
          case 48: {
            IsClient = input.ReadBool();
            break;
          }
          case 56: {
            Type = input.ReadInt32();
            break;
          }
          case 64: {
            Color = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            preNodes_.AddEntriesFrom(input, _repeated_preNodes_codec);
            break;
          }
          case 80: {
            EffectClient = input.ReadInt32();
            break;
          }
          case 90: {
            ClientParams = input.ReadString();
            break;
          }
          case 96: {
            Priority = input.ReadInt32();
            break;
          }
          case 106: {
            Icon = input.ReadString();
            break;
          }
          case 114:
          case 112: {
            position_.AddEntriesFrom(input, _repeated_position_codec);
            break;
          }
          case 122: {
            Desc = input.ReadString();
            break;
          }
          case 128: {
            ItemId1 = input.ReadInt32();
            break;
          }
          case 136: {
            ItemQty1 = input.ReadInt32();
            break;
          }
          case 144: {
            ItemId2 = input.ReadInt32();
            break;
          }
          case 152: {
            ItemQty2 = input.ReadInt32();
            break;
          }
          case 160: {
            ItemId3 = input.ReadInt32();
            break;
          }
          case 168: {
            ItemQty3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            NodeId = input.ReadInt32();
            break;
          }
          case 24: {
            Group = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 40: {
            IsServer = input.ReadBool();
            break;
          }
          case 48: {
            IsClient = input.ReadBool();
            break;
          }
          case 56: {
            Type = input.ReadInt32();
            break;
          }
          case 64: {
            Color = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            preNodes_.AddEntriesFrom(ref input, _repeated_preNodes_codec);
            break;
          }
          case 80: {
            EffectClient = input.ReadInt32();
            break;
          }
          case 90: {
            ClientParams = input.ReadString();
            break;
          }
          case 96: {
            Priority = input.ReadInt32();
            break;
          }
          case 106: {
            Icon = input.ReadString();
            break;
          }
          case 114:
          case 112: {
            position_.AddEntriesFrom(ref input, _repeated_position_codec);
            break;
          }
          case 122: {
            Desc = input.ReadString();
            break;
          }
          case 128: {
            ItemId1 = input.ReadInt32();
            break;
          }
          case 136: {
            ItemQty1 = input.ReadInt32();
            break;
          }
          case 144: {
            ItemId2 = input.ReadInt32();
            break;
          }
          case 152: {
            ItemQty2 = input.ReadInt32();
            break;
          }
          case 160: {
            ItemId3 = input.ReadInt32();
            break;
          }
          case 168: {
            ItemQty3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerGrowthNode : pb::IMessage<table_StarTowerGrowthNode>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerGrowthNode> _parser = new pb::MessageParser<table_StarTowerGrowthNode>(() => new table_StarTowerGrowthNode());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerGrowthNode> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[405]; }
    }

    [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 table_StarTowerGrowthNode() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerGrowthNode(table_StarTowerGrowthNode other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerGrowthNode Clone() {
      return new table_StarTowerGrowthNode(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerGrowthNode> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerGrowthNode.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerGrowthNode> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerGrowthNode>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerGrowthNode> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerGrowthNode);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerGrowthNode other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerGrowthNode other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerHarmonySkill : pb::IMessage<StarTowerHarmonySkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerHarmonySkill> _parser = new pb::MessageParser<StarTowerHarmonySkill>(() => new StarTowerHarmonySkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerHarmonySkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[406]; }
    }

    [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 StarTowerHarmonySkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerHarmonySkill(StarTowerHarmonySkill other) : this() {
      id_ = other.id_;
      rarity_ = other.rarity_;
      name_ = other.name_;
      tag_ = other.tag_;
      score_ = other.score_;
      effectId_ = other.effectId_.Clone();
      desc_ = other.desc_;
      icon_ = other.icon_;
      iconBg_ = other.iconBg_;
      iconCorner_ = other.iconCorner_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerHarmonySkill Clone() {
      return new StarTowerHarmonySkill(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Rarity" field.</summary>
    public const int RarityFieldNumber = 2;
    private int rarity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rarity {
      get { return rarity_; }
      set {
        rarity_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 3;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Tag" field.</summary>
    public const int TagFieldNumber = 4;
    private int tag_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Tag {
      get { return tag_; }
      set {
        tag_ = value;
      }
    }

    /// <summary>Field number for the "Score" field.</summary>
    public const int ScoreFieldNumber = 5;
    private int score_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Score {
      get { return score_; }
      set {
        score_ = value;
      }
    }

    /// <summary>Field number for the "EffectId" field.</summary>
    public const int EffectIdFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_effectId_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> effectId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId {
      get { return effectId_; }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 7;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 8;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IconBg" field.</summary>
    public const int IconBgFieldNumber = 9;
    private string iconBg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IconBg {
      get { return iconBg_; }
      set {
        iconBg_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IconCorner" field.</summary>
    public const int IconCornerFieldNumber = 10;
    private string iconCorner_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IconCorner {
      get { return iconCorner_; }
      set {
        iconCorner_ = 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 StarTowerHarmonySkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerHarmonySkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Rarity != other.Rarity) return false;
      if (Name != other.Name) return false;
      if (Tag != other.Tag) return false;
      if (Score != other.Score) return false;
      if(!effectId_.Equals(other.effectId_)) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (IconBg != other.IconBg) return false;
      if (IconCorner != other.IconCorner) 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 (Rarity != 0) hash ^= Rarity.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Tag != 0) hash ^= Tag.GetHashCode();
      if (Score != 0) hash ^= Score.GetHashCode();
      hash ^= effectId_.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (IconBg.Length != 0) hash ^= IconBg.GetHashCode();
      if (IconCorner.Length != 0) hash ^= IconCorner.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.WriteInt32(Id);
      }
      if (Rarity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Rarity);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Tag != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tag);
      }
      if (Score != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Score);
      }
      effectId_.WriteTo(output, _repeated_effectId_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(IconBg);
      }
      if (IconCorner.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(IconCorner);
      }
      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.WriteInt32(Id);
      }
      if (Rarity != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Rarity);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Name);
      }
      if (Tag != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Tag);
      }
      if (Score != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Score);
      }
      effectId_.WriteTo(ref output, _repeated_effectId_codec);
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(IconBg);
      }
      if (IconCorner.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(IconCorner);
      }
      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.ComputeInt32Size(Id);
      }
      if (Rarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rarity);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Tag != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Tag);
      }
      if (Score != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Score);
      }
      size += effectId_.CalculateSize(_repeated_effectId_codec);
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (IconBg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IconBg);
      }
      if (IconCorner.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IconCorner);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerHarmonySkill other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Rarity != 0) {
        Rarity = other.Rarity;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Tag != 0) {
        Tag = other.Tag;
      }
      if (other.Score != 0) {
        Score = other.Score;
      }
      effectId_.Add(other.effectId_);
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.IconBg.Length != 0) {
        IconBg = other.IconBg;
      }
      if (other.IconCorner.Length != 0) {
        IconCorner = other.IconCorner;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Rarity = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            Tag = input.ReadInt32();
            break;
          }
          case 40: {
            Score = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            effectId_.AddEntriesFrom(input, _repeated_effectId_codec);
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 74: {
            IconBg = input.ReadString();
            break;
          }
          case 82: {
            IconCorner = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Rarity = input.ReadInt32();
            break;
          }
          case 26: {
            Name = input.ReadString();
            break;
          }
          case 32: {
            Tag = input.ReadInt32();
            break;
          }
          case 40: {
            Score = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            effectId_.AddEntriesFrom(ref input, _repeated_effectId_codec);
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 66: {
            Icon = input.ReadString();
            break;
          }
          case 74: {
            IconBg = input.ReadString();
            break;
          }
          case 82: {
            IconCorner = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerHarmonySkill : pb::IMessage<table_StarTowerHarmonySkill>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerHarmonySkill> _parser = new pb::MessageParser<table_StarTowerHarmonySkill>(() => new table_StarTowerHarmonySkill());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerHarmonySkill> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[407]; }
    }

    [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 table_StarTowerHarmonySkill() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerHarmonySkill(table_StarTowerHarmonySkill other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerHarmonySkill Clone() {
      return new table_StarTowerHarmonySkill(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerHarmonySkill> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerHarmonySkill.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerHarmonySkill> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerHarmonySkill>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerHarmonySkill> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerHarmonySkill);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerHarmonySkill other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerHarmonySkill other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerLimitReward : pb::IMessage<StarTowerLimitReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerLimitReward> _parser = new pb::MessageParser<StarTowerLimitReward>(() => new StarTowerLimitReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerLimitReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[408]; }
    }

    [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 StarTowerLimitReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerLimitReward(StarTowerLimitReward other) : this() {
      id_ = other.id_;
      stage_ = other.stage_;
      starTowerId_ = other.starTowerId_;
      roomType_ = other.roomType_;
      timeLimit_ = other.timeLimit_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerLimitReward Clone() {
      return new StarTowerLimitReward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Stage" field.</summary>
    public const int StageFieldNumber = 2;
    private int stage_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Stage {
      get { return stage_; }
      set {
        stage_ = value;
      }
    }

    /// <summary>Field number for the "StarTowerId" field.</summary>
    public const int StarTowerIdFieldNumber = 3;
    private int starTowerId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int StarTowerId {
      get { return starTowerId_; }
      set {
        starTowerId_ = value;
      }
    }

    /// <summary>Field number for the "RoomType" field.</summary>
    public const int RoomTypeFieldNumber = 4;
    private int roomType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoomType {
      get { return roomType_; }
      set {
        roomType_ = value;
      }
    }

    /// <summary>Field number for the "TimeLimit" field.</summary>
    public const int TimeLimitFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_timeLimit_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> timeLimit_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TimeLimit {
      get { return timeLimit_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerLimitReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerLimitReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Stage != other.Stage) return false;
      if (StarTowerId != other.StarTowerId) return false;
      if (RoomType != other.RoomType) return false;
      if(!timeLimit_.Equals(other.timeLimit_)) 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 (Stage != 0) hash ^= Stage.GetHashCode();
      if (StarTowerId != 0) hash ^= StarTowerId.GetHashCode();
      if (RoomType != 0) hash ^= RoomType.GetHashCode();
      hash ^= timeLimit_.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.WriteInt32(Id);
      }
      if (Stage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Stage);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(StarTowerId);
      }
      if (RoomType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RoomType);
      }
      timeLimit_.WriteTo(output, _repeated_timeLimit_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Stage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Stage);
      }
      if (StarTowerId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(StarTowerId);
      }
      if (RoomType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RoomType);
      }
      timeLimit_.WriteTo(ref output, _repeated_timeLimit_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Stage != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stage);
      }
      if (StarTowerId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(StarTowerId);
      }
      if (RoomType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomType);
      }
      size += timeLimit_.CalculateSize(_repeated_timeLimit_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerLimitReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Stage != 0) {
        Stage = other.Stage;
      }
      if (other.StarTowerId != 0) {
        StarTowerId = other.StarTowerId;
      }
      if (other.RoomType != 0) {
        RoomType = other.RoomType;
      }
      timeLimit_.Add(other.timeLimit_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            Stage = input.ReadInt32();
            break;
          }
          case 24: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 32: {
            RoomType = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            timeLimit_.AddEntriesFrom(input, _repeated_timeLimit_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Stage = input.ReadInt32();
            break;
          }
          case 24: {
            StarTowerId = input.ReadInt32();
            break;
          }
          case 32: {
            RoomType = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            timeLimit_.AddEntriesFrom(ref input, _repeated_timeLimit_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerLimitReward : pb::IMessage<table_StarTowerLimitReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerLimitReward> _parser = new pb::MessageParser<table_StarTowerLimitReward>(() => new table_StarTowerLimitReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerLimitReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[409]; }
    }

    [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 table_StarTowerLimitReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerLimitReward(table_StarTowerLimitReward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerLimitReward Clone() {
      return new table_StarTowerLimitReward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerLimitReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerLimitReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerLimitReward> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerLimitReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerLimitReward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerLimitReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerLimitReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerLimitReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerMap : pb::IMessage<StarTowerMap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerMap> _parser = new pb::MessageParser<StarTowerMap>(() => new StarTowerMap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[410]; }
    }

    [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 StarTowerMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMap(StarTowerMap other) : this() {
      id_ = other.id_;
      sceneRes_ = other.sceneRes_;
      bGSceneRes_ = other.bGSceneRes_;
      theme_ = other.theme_;
      prefabNum_ = other.prefabNum_.Clone();
      mir_ = other.mir_;
      outPortNum_ = other.outPortNum_;
      outPortHint_ = other.outPortHint_;
      bGMRes_ = other.bGMRes_;
      completeSoundEffectRes_ = other.completeSoundEffectRes_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMap Clone() {
      return new StarTowerMap(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneRes" field.</summary>
    public const int SceneResFieldNumber = 2;
    private string sceneRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneRes {
      get { return sceneRes_; }
      set {
        sceneRes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BGSceneRes" field.</summary>
    public const int BGSceneResFieldNumber = 3;
    private string bGSceneRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGSceneRes {
      get { return bGSceneRes_; }
      set {
        bGSceneRes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "PrefabNum" field.</summary>
    public const int PrefabNumFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_prefabNum_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> prefabNum_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PrefabNum {
      get { return prefabNum_; }
    }

    /// <summary>Field number for the "Mir" field.</summary>
    public const int MirFieldNumber = 6;
    private bool mir_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Mir {
      get { return mir_; }
      set {
        mir_ = value;
      }
    }

    /// <summary>Field number for the "OutPortNum" field.</summary>
    public const int OutPortNumFieldNumber = 7;
    private int outPortNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int OutPortNum {
      get { return outPortNum_; }
      set {
        outPortNum_ = value;
      }
    }

    /// <summary>Field number for the "OutPortHint" field.</summary>
    public const int OutPortHintFieldNumber = 8;
    private bool outPortHint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool OutPortHint {
      get { return outPortHint_; }
      set {
        outPortHint_ = value;
      }
    }

    /// <summary>Field number for the "BGMRes" field.</summary>
    public const int BGMResFieldNumber = 9;
    private string bGMRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGMRes {
      get { return bGMRes_; }
      set {
        bGMRes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CompleteSoundEffectRes" field.</summary>
    public const int CompleteSoundEffectResFieldNumber = 10;
    private string completeSoundEffectRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CompleteSoundEffectRes {
      get { return completeSoundEffectRes_; }
      set {
        completeSoundEffectRes_ = 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 StarTowerMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneRes != other.SceneRes) return false;
      if (BGSceneRes != other.BGSceneRes) return false;
      if (Theme != other.Theme) return false;
      if(!prefabNum_.Equals(other.prefabNum_)) return false;
      if (Mir != other.Mir) return false;
      if (OutPortNum != other.OutPortNum) return false;
      if (OutPortHint != other.OutPortHint) return false;
      if (BGMRes != other.BGMRes) return false;
      if (CompleteSoundEffectRes != other.CompleteSoundEffectRes) 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 (SceneRes.Length != 0) hash ^= SceneRes.GetHashCode();
      if (BGSceneRes.Length != 0) hash ^= BGSceneRes.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      hash ^= prefabNum_.GetHashCode();
      if (Mir != false) hash ^= Mir.GetHashCode();
      if (OutPortNum != 0) hash ^= OutPortNum.GetHashCode();
      if (OutPortHint != false) hash ^= OutPortHint.GetHashCode();
      if (BGMRes.Length != 0) hash ^= BGMRes.GetHashCode();
      if (CompleteSoundEffectRes.Length != 0) hash ^= CompleteSoundEffectRes.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.WriteInt32(Id);
      }
      if (SceneRes.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneRes);
      }
      if (BGSceneRes.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(BGSceneRes);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      prefabNum_.WriteTo(output, _repeated_prefabNum_codec);
      if (Mir != false) {
        output.WriteRawTag(48);
        output.WriteBool(Mir);
      }
      if (OutPortNum != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(OutPortNum);
      }
      if (OutPortHint != false) {
        output.WriteRawTag(64);
        output.WriteBool(OutPortHint);
      }
      if (BGMRes.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(BGMRes);
      }
      if (CompleteSoundEffectRes.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CompleteSoundEffectRes);
      }
      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.WriteInt32(Id);
      }
      if (SceneRes.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneRes);
      }
      if (BGSceneRes.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(BGSceneRes);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      prefabNum_.WriteTo(ref output, _repeated_prefabNum_codec);
      if (Mir != false) {
        output.WriteRawTag(48);
        output.WriteBool(Mir);
      }
      if (OutPortNum != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(OutPortNum);
      }
      if (OutPortHint != false) {
        output.WriteRawTag(64);
        output.WriteBool(OutPortHint);
      }
      if (BGMRes.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(BGMRes);
      }
      if (CompleteSoundEffectRes.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CompleteSoundEffectRes);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneRes);
      }
      if (BGSceneRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGSceneRes);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      size += prefabNum_.CalculateSize(_repeated_prefabNum_codec);
      if (Mir != false) {
        size += 1 + 1;
      }
      if (OutPortNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(OutPortNum);
      }
      if (OutPortHint != false) {
        size += 1 + 1;
      }
      if (BGMRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGMRes);
      }
      if (CompleteSoundEffectRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CompleteSoundEffectRes);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerMap other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneRes.Length != 0) {
        SceneRes = other.SceneRes;
      }
      if (other.BGSceneRes.Length != 0) {
        BGSceneRes = other.BGSceneRes;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      prefabNum_.Add(other.prefabNum_);
      if (other.Mir != false) {
        Mir = other.Mir;
      }
      if (other.OutPortNum != 0) {
        OutPortNum = other.OutPortNum;
      }
      if (other.OutPortHint != false) {
        OutPortHint = other.OutPortHint;
      }
      if (other.BGMRes.Length != 0) {
        BGMRes = other.BGMRes;
      }
      if (other.CompleteSoundEffectRes.Length != 0) {
        CompleteSoundEffectRes = other.CompleteSoundEffectRes;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneRes = input.ReadString();
            break;
          }
          case 26: {
            BGSceneRes = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            prefabNum_.AddEntriesFrom(input, _repeated_prefabNum_codec);
            break;
          }
          case 48: {
            Mir = input.ReadBool();
            break;
          }
          case 56: {
            OutPortNum = input.ReadInt32();
            break;
          }
          case 64: {
            OutPortHint = input.ReadBool();
            break;
          }
          case 74: {
            BGMRes = input.ReadString();
            break;
          }
          case 82: {
            CompleteSoundEffectRes = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneRes = input.ReadString();
            break;
          }
          case 26: {
            BGSceneRes = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            prefabNum_.AddEntriesFrom(ref input, _repeated_prefabNum_codec);
            break;
          }
          case 48: {
            Mir = input.ReadBool();
            break;
          }
          case 56: {
            OutPortNum = input.ReadInt32();
            break;
          }
          case 64: {
            OutPortHint = input.ReadBool();
            break;
          }
          case 74: {
            BGMRes = input.ReadString();
            break;
          }
          case 82: {
            CompleteSoundEffectRes = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerMap : pb::IMessage<table_StarTowerMap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerMap> _parser = new pb::MessageParser<table_StarTowerMap>(() => new table_StarTowerMap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[411]; }
    }

    [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 table_StarTowerMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMap(table_StarTowerMap other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMap Clone() {
      return new table_StarTowerMap(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerMap> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerMap.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerMap> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerMap>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerMap> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerMap other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerMapMaxNumPerStage : pb::IMessage<StarTowerMapMaxNumPerStage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerMapMaxNumPerStage> _parser = new pb::MessageParser<StarTowerMapMaxNumPerStage>(() => new StarTowerMapMaxNumPerStage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerMapMaxNumPerStage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[412]; }
    }

    [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 StarTowerMapMaxNumPerStage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMapMaxNumPerStage(StarTowerMapMaxNumPerStage other) : this() {
      id_ = other.id_;
      maxNumPerStage_ = other.maxNumPerStage_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMapMaxNumPerStage Clone() {
      return new StarTowerMapMaxNumPerStage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MaxNumPerStage" field.</summary>
    public const int MaxNumPerStageFieldNumber = 2;
    private int maxNumPerStage_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxNumPerStage {
      get { return maxNumPerStage_; }
      set {
        maxNumPerStage_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerMapMaxNumPerStage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerMapMaxNumPerStage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MaxNumPerStage != other.MaxNumPerStage) 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 (MaxNumPerStage != 0) hash ^= MaxNumPerStage.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.WriteInt32(Id);
      }
      if (MaxNumPerStage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MaxNumPerStage);
      }
      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.WriteInt32(Id);
      }
      if (MaxNumPerStage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MaxNumPerStage);
      }
      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.ComputeInt32Size(Id);
      }
      if (MaxNumPerStage != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNumPerStage);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerMapMaxNumPerStage other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MaxNumPerStage != 0) {
        MaxNumPerStage = other.MaxNumPerStage;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            MaxNumPerStage = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            MaxNumPerStage = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerMapMaxNumPerStage : pb::IMessage<table_StarTowerMapMaxNumPerStage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerMapMaxNumPerStage> _parser = new pb::MessageParser<table_StarTowerMapMaxNumPerStage>(() => new table_StarTowerMapMaxNumPerStage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerMapMaxNumPerStage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[413]; }
    }

    [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 table_StarTowerMapMaxNumPerStage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMapMaxNumPerStage(table_StarTowerMapMaxNumPerStage other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMapMaxNumPerStage Clone() {
      return new table_StarTowerMapMaxNumPerStage(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerMapMaxNumPerStage> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerMapMaxNumPerStage.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerMapMaxNumPerStage> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerMapMaxNumPerStage>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerMapMaxNumPerStage> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerMapMaxNumPerStage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerMapMaxNumPerStage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerMapMaxNumPerStage other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerMonsterBornGroup : pb::IMessage<StarTowerMonsterBornGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerMonsterBornGroup> _parser = new pb::MessageParser<StarTowerMonsterBornGroup>(() => new StarTowerMonsterBornGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerMonsterBornGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[414]; }
    }

    [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 StarTowerMonsterBornGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMonsterBornGroup(StarTowerMonsterBornGroup other) : this() {
      groupId_ = other.groupId_;
      monsterId_ = other.monsterId_;
      difficulty_ = other.difficulty_;
      minFloor_ = other.minFloor_;
      maxFloor_ = other.maxFloor_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMonsterBornGroup Clone() {
      return new StarTowerMonsterBornGroup(this);
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 1;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "MonsterId" field.</summary>
    public const int MonsterIdFieldNumber = 2;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 3;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "MinFloor" field.</summary>
    public const int MinFloorFieldNumber = 4;
    private int minFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MinFloor {
      get { return minFloor_; }
      set {
        minFloor_ = value;
      }
    }

    /// <summary>Field number for the "MaxFloor" field.</summary>
    public const int MaxFloorFieldNumber = 5;
    private int maxFloor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxFloor {
      get { return maxFloor_; }
      set {
        maxFloor_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerMonsterBornGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerMonsterBornGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (GroupId != other.GroupId) return false;
      if (MonsterId != other.MonsterId) return false;
      if (Difficulty != other.Difficulty) return false;
      if (MinFloor != other.MinFloor) return false;
      if (MaxFloor != other.MaxFloor) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (MinFloor != 0) hash ^= MinFloor.GetHashCode();
      if (MaxFloor != 0) hash ^= MaxFloor.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 (GroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GroupId);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (MinFloor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MinFloor);
      }
      if (MaxFloor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MaxFloor);
      }
      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 (GroupId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GroupId);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (MinFloor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(MinFloor);
      }
      if (MaxFloor != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(MaxFloor);
      }
      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 (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (MinFloor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MinFloor);
      }
      if (MaxFloor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxFloor);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerMonsterBornGroup other) {
      if (other == null) {
        return;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.MinFloor != 0) {
        MinFloor = other.MinFloor;
      }
      if (other.MaxFloor != 0) {
        MaxFloor = other.MaxFloor;
      }
      _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: {
            GroupId = input.ReadInt32();
            break;
          }
          case 16: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            MinFloor = input.ReadInt32();
            break;
          }
          case 40: {
            MaxFloor = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            GroupId = input.ReadInt32();
            break;
          }
          case 16: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            MinFloor = input.ReadInt32();
            break;
          }
          case 40: {
            MaxFloor = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerMonsterBornGroup : pb::IMessage<table_StarTowerMonsterBornGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerMonsterBornGroup> _parser = new pb::MessageParser<table_StarTowerMonsterBornGroup>(() => new table_StarTowerMonsterBornGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerMonsterBornGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[415]; }
    }

    [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 table_StarTowerMonsterBornGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMonsterBornGroup(table_StarTowerMonsterBornGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMonsterBornGroup Clone() {
      return new table_StarTowerMonsterBornGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerMonsterBornGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerMonsterBornGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerMonsterBornGroup> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerMonsterBornGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerMonsterBornGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerMonsterBornGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerMonsterBornGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerMonsterBornGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerMonsterSpAttr : pb::IMessage<StarTowerMonsterSpAttr>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerMonsterSpAttr> _parser = new pb::MessageParser<StarTowerMonsterSpAttr>(() => new StarTowerMonsterSpAttr());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerMonsterSpAttr> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[416]; }
    }

    [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 StarTowerMonsterSpAttr() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMonsterSpAttr(StarTowerMonsterSpAttr other) : this() {
      id_ = other.id_;
      monsterPosition_ = other.monsterPosition_;
      themeSkills_ = other.themeSkills_;
      continuousKillingTime_ = other.continuousKillingTime_;
      rougeMoneyDropRange_ = other.rougeMoneyDropRange_.Clone();
      rougeExpDropRange_ = other.rougeExpDropRange_.Clone();
      refDistance_ = other.refDistance_.Clone();
      refInterval_ = other.refInterval_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerMonsterSpAttr Clone() {
      return new StarTowerMonsterSpAttr(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MonsterPosition" field.</summary>
    public const int MonsterPositionFieldNumber = 2;
    private int monsterPosition_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterPosition {
      get { return monsterPosition_; }
      set {
        monsterPosition_ = value;
      }
    }

    /// <summary>Field number for the "ThemeSkills" field.</summary>
    public const int ThemeSkillsFieldNumber = 3;
    private string themeSkills_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ThemeSkills {
      get { return themeSkills_; }
      set {
        themeSkills_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ContinuousKillingTime" field.</summary>
    public const int ContinuousKillingTimeFieldNumber = 4;
    private int continuousKillingTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ContinuousKillingTime {
      get { return continuousKillingTime_; }
      set {
        continuousKillingTime_ = value;
      }
    }

    /// <summary>Field number for the "RougeMoneyDropRange" field.</summary>
    public const int RougeMoneyDropRangeFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_rougeMoneyDropRange_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> rougeMoneyDropRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> RougeMoneyDropRange {
      get { return rougeMoneyDropRange_; }
    }

    /// <summary>Field number for the "RougeExpDropRange" field.</summary>
    public const int RougeExpDropRangeFieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_rougeExpDropRange_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> rougeExpDropRange_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> RougeExpDropRange {
      get { return rougeExpDropRange_; }
    }

    /// <summary>Field number for the "RefDistance" field.</summary>
    public const int RefDistanceFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_refDistance_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> refDistance_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> RefDistance {
      get { return refDistance_; }
    }

    /// <summary>Field number for the "RefInterval" field.</summary>
    public const int RefIntervalFieldNumber = 8;
    private int refInterval_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RefInterval {
      get { return refInterval_; }
      set {
        refInterval_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerMonsterSpAttr);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerMonsterSpAttr other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MonsterPosition != other.MonsterPosition) return false;
      if (ThemeSkills != other.ThemeSkills) return false;
      if (ContinuousKillingTime != other.ContinuousKillingTime) return false;
      if(!rougeMoneyDropRange_.Equals(other.rougeMoneyDropRange_)) return false;
      if(!rougeExpDropRange_.Equals(other.rougeExpDropRange_)) return false;
      if(!refDistance_.Equals(other.refDistance_)) return false;
      if (RefInterval != other.RefInterval) 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 (MonsterPosition != 0) hash ^= MonsterPosition.GetHashCode();
      if (ThemeSkills.Length != 0) hash ^= ThemeSkills.GetHashCode();
      if (ContinuousKillingTime != 0) hash ^= ContinuousKillingTime.GetHashCode();
      hash ^= rougeMoneyDropRange_.GetHashCode();
      hash ^= rougeExpDropRange_.GetHashCode();
      hash ^= refDistance_.GetHashCode();
      if (RefInterval != 0) hash ^= RefInterval.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.WriteInt32(Id);
      }
      if (MonsterPosition != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterPosition);
      }
      if (ThemeSkills.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ThemeSkills);
      }
      if (ContinuousKillingTime != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ContinuousKillingTime);
      }
      rougeMoneyDropRange_.WriteTo(output, _repeated_rougeMoneyDropRange_codec);
      rougeExpDropRange_.WriteTo(output, _repeated_rougeExpDropRange_codec);
      refDistance_.WriteTo(output, _repeated_refDistance_codec);
      if (RefInterval != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RefInterval);
      }
      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.WriteInt32(Id);
      }
      if (MonsterPosition != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MonsterPosition);
      }
      if (ThemeSkills.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ThemeSkills);
      }
      if (ContinuousKillingTime != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(ContinuousKillingTime);
      }
      rougeMoneyDropRange_.WriteTo(ref output, _repeated_rougeMoneyDropRange_codec);
      rougeExpDropRange_.WriteTo(ref output, _repeated_rougeExpDropRange_codec);
      refDistance_.WriteTo(ref output, _repeated_refDistance_codec);
      if (RefInterval != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RefInterval);
      }
      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.ComputeInt32Size(Id);
      }
      if (MonsterPosition != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterPosition);
      }
      if (ThemeSkills.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ThemeSkills);
      }
      if (ContinuousKillingTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ContinuousKillingTime);
      }
      size += rougeMoneyDropRange_.CalculateSize(_repeated_rougeMoneyDropRange_codec);
      size += rougeExpDropRange_.CalculateSize(_repeated_rougeExpDropRange_codec);
      size += refDistance_.CalculateSize(_repeated_refDistance_codec);
      if (RefInterval != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RefInterval);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerMonsterSpAttr other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MonsterPosition != 0) {
        MonsterPosition = other.MonsterPosition;
      }
      if (other.ThemeSkills.Length != 0) {
        ThemeSkills = other.ThemeSkills;
      }
      if (other.ContinuousKillingTime != 0) {
        ContinuousKillingTime = other.ContinuousKillingTime;
      }
      rougeMoneyDropRange_.Add(other.rougeMoneyDropRange_);
      rougeExpDropRange_.Add(other.rougeExpDropRange_);
      refDistance_.Add(other.refDistance_);
      if (other.RefInterval != 0) {
        RefInterval = other.RefInterval;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            MonsterPosition = input.ReadInt32();
            break;
          }
          case 26: {
            ThemeSkills = input.ReadString();
            break;
          }
          case 32: {
            ContinuousKillingTime = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            rougeMoneyDropRange_.AddEntriesFrom(input, _repeated_rougeMoneyDropRange_codec);
            break;
          }
          case 50:
          case 48: {
            rougeExpDropRange_.AddEntriesFrom(input, _repeated_rougeExpDropRange_codec);
            break;
          }
          case 58:
          case 56: {
            refDistance_.AddEntriesFrom(input, _repeated_refDistance_codec);
            break;
          }
          case 64: {
            RefInterval = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            MonsterPosition = input.ReadInt32();
            break;
          }
          case 26: {
            ThemeSkills = input.ReadString();
            break;
          }
          case 32: {
            ContinuousKillingTime = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            rougeMoneyDropRange_.AddEntriesFrom(ref input, _repeated_rougeMoneyDropRange_codec);
            break;
          }
          case 50:
          case 48: {
            rougeExpDropRange_.AddEntriesFrom(ref input, _repeated_rougeExpDropRange_codec);
            break;
          }
          case 58:
          case 56: {
            refDistance_.AddEntriesFrom(ref input, _repeated_refDistance_codec);
            break;
          }
          case 64: {
            RefInterval = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerMonsterSpAttr : pb::IMessage<table_StarTowerMonsterSpAttr>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerMonsterSpAttr> _parser = new pb::MessageParser<table_StarTowerMonsterSpAttr>(() => new table_StarTowerMonsterSpAttr());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerMonsterSpAttr> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[417]; }
    }

    [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 table_StarTowerMonsterSpAttr() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMonsterSpAttr(table_StarTowerMonsterSpAttr other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerMonsterSpAttr Clone() {
      return new table_StarTowerMonsterSpAttr(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerMonsterSpAttr> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerMonsterSpAttr.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerMonsterSpAttr> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerMonsterSpAttr>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerMonsterSpAttr> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerMonsterSpAttr);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerMonsterSpAttr other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerMonsterSpAttr other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerQuest : pb::IMessage<StarTowerQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerQuest> _parser = new pb::MessageParser<StarTowerQuest>(() => new StarTowerQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[418]; }
    }

    [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 StarTowerQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerQuest(StarTowerQuest other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      jumpTo_ = other.jumpTo_;
      towerQuestType_ = other.towerQuestType_;
      preTowerQuestIds_ = other.preTowerQuestIds_.Clone();
      reward1_ = other.reward1_;
      rewardQty1_ = other.rewardQty1_;
      reward2_ = other.reward2_;
      rewardQty2_ = other.rewardQty2_;
      reward3_ = other.reward3_;
      rewardQty3_ = other.rewardQty3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerQuest Clone() {
      return new StarTowerQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 3;
    private int jumpTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int JumpTo {
      get { return jumpTo_; }
      set {
        jumpTo_ = value;
      }
    }

    /// <summary>Field number for the "TowerQuestType" field.</summary>
    public const int TowerQuestTypeFieldNumber = 4;
    private int towerQuestType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TowerQuestType {
      get { return towerQuestType_; }
      set {
        towerQuestType_ = value;
      }
    }

    /// <summary>Field number for the "PreTowerQuestIds" field.</summary>
    public const int PreTowerQuestIdsFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_preTowerQuestIds_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> preTowerQuestIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> PreTowerQuestIds {
      get { return preTowerQuestIds_; }
    }

    /// <summary>Field number for the "Reward1" field.</summary>
    public const int Reward1FieldNumber = 6;
    private int reward1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward1 {
      get { return reward1_; }
      set {
        reward1_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty1" field.</summary>
    public const int RewardQty1FieldNumber = 7;
    private int rewardQty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty1 {
      get { return rewardQty1_; }
      set {
        rewardQty1_ = value;
      }
    }

    /// <summary>Field number for the "Reward2" field.</summary>
    public const int Reward2FieldNumber = 8;
    private int reward2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward2 {
      get { return reward2_; }
      set {
        reward2_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty2" field.</summary>
    public const int RewardQty2FieldNumber = 9;
    private int rewardQty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty2 {
      get { return rewardQty2_; }
      set {
        rewardQty2_ = value;
      }
    }

    /// <summary>Field number for the "Reward3" field.</summary>
    public const int Reward3FieldNumber = 10;
    private int reward3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward3 {
      get { return reward3_; }
      set {
        reward3_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty3" field.</summary>
    public const int RewardQty3FieldNumber = 11;
    private int rewardQty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty3 {
      get { return rewardQty3_; }
      set {
        rewardQty3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (JumpTo != other.JumpTo) return false;
      if (TowerQuestType != other.TowerQuestType) return false;
      if(!preTowerQuestIds_.Equals(other.preTowerQuestIds_)) return false;
      if (Reward1 != other.Reward1) return false;
      if (RewardQty1 != other.RewardQty1) return false;
      if (Reward2 != other.Reward2) return false;
      if (RewardQty2 != other.RewardQty2) return false;
      if (Reward3 != other.Reward3) return false;
      if (RewardQty3 != other.RewardQty3) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (TowerQuestType != 0) hash ^= TowerQuestType.GetHashCode();
      hash ^= preTowerQuestIds_.GetHashCode();
      if (Reward1 != 0) hash ^= Reward1.GetHashCode();
      if (RewardQty1 != 0) hash ^= RewardQty1.GetHashCode();
      if (Reward2 != 0) hash ^= Reward2.GetHashCode();
      if (RewardQty2 != 0) hash ^= RewardQty2.GetHashCode();
      if (Reward3 != 0) hash ^= Reward3.GetHashCode();
      if (RewardQty3 != 0) hash ^= RewardQty3.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(JumpTo);
      }
      if (TowerQuestType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TowerQuestType);
      }
      preTowerQuestIds_.WriteTo(output, _repeated_preTowerQuestIds_codec);
      if (Reward1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RewardQty3);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(JumpTo);
      }
      if (TowerQuestType != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(TowerQuestType);
      }
      preTowerQuestIds_.WriteTo(ref output, _repeated_preTowerQuestIds_codec);
      if (Reward1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(RewardQty3);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (TowerQuestType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TowerQuestType);
      }
      size += preTowerQuestIds_.CalculateSize(_repeated_preTowerQuestIds_codec);
      if (Reward1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward1);
      }
      if (RewardQty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty1);
      }
      if (Reward2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward2);
      }
      if (RewardQty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty2);
      }
      if (Reward3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward3);
      }
      if (RewardQty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.TowerQuestType != 0) {
        TowerQuestType = other.TowerQuestType;
      }
      preTowerQuestIds_.Add(other.preTowerQuestIds_);
      if (other.Reward1 != 0) {
        Reward1 = other.Reward1;
      }
      if (other.RewardQty1 != 0) {
        RewardQty1 = other.RewardQty1;
      }
      if (other.Reward2 != 0) {
        Reward2 = other.Reward2;
      }
      if (other.RewardQty2 != 0) {
        RewardQty2 = other.RewardQty2;
      }
      if (other.Reward3 != 0) {
        Reward3 = other.Reward3;
      }
      if (other.RewardQty3 != 0) {
        RewardQty3 = other.RewardQty3;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 32: {
            TowerQuestType = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            preTowerQuestIds_.AddEntriesFrom(input, _repeated_preTowerQuestIds_codec);
            break;
          }
          case 48: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 56: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 64: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 72: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 80: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 88: {
            RewardQty3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 32: {
            TowerQuestType = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            preTowerQuestIds_.AddEntriesFrom(ref input, _repeated_preTowerQuestIds_codec);
            break;
          }
          case 48: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 56: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 64: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 72: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 80: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 88: {
            RewardQty3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerQuest : pb::IMessage<table_StarTowerQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerQuest> _parser = new pb::MessageParser<table_StarTowerQuest>(() => new table_StarTowerQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[419]; }
    }

    [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 table_StarTowerQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerQuest(table_StarTowerQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerQuest Clone() {
      return new table_StarTowerQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerQuest> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerRankAffix : pb::IMessage<StarTowerRankAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerRankAffix> _parser = new pb::MessageParser<StarTowerRankAffix>(() => new StarTowerRankAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerRankAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[420]; }
    }

    [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 StarTowerRankAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankAffix(StarTowerRankAffix other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      rarity_ = other.rarity_;
      effect_ = other.effect_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankAffix Clone() {
      return new StarTowerRankAffix(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Rarity" field.</summary>
    public const int RarityFieldNumber = 4;
    private int rarity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rarity {
      get { return rarity_; }
      set {
        rarity_ = value;
      }
    }

    /// <summary>Field number for the "Effect" field.</summary>
    public const int EffectFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_effect_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> effect_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Effect {
      get { return effect_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerRankAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerRankAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Rarity != other.Rarity) return false;
      if(!effect_.Equals(other.effect_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Rarity != 0) hash ^= Rarity.GetHashCode();
      hash ^= effect_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Rarity != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Rarity);
      }
      effect_.WriteTo(output, _repeated_effect_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Rarity != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Rarity);
      }
      effect_.WriteTo(ref output, _repeated_effect_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Rarity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rarity);
      }
      size += effect_.CalculateSize(_repeated_effect_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerRankAffix other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Rarity != 0) {
        Rarity = other.Rarity;
      }
      effect_.Add(other.effect_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Rarity = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            effect_.AddEntriesFrom(input, _repeated_effect_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Rarity = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            effect_.AddEntriesFrom(ref input, _repeated_effect_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerRankAffix : pb::IMessage<table_StarTowerRankAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerRankAffix> _parser = new pb::MessageParser<table_StarTowerRankAffix>(() => new table_StarTowerRankAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerRankAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[421]; }
    }

    [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 table_StarTowerRankAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankAffix(table_StarTowerRankAffix other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankAffix Clone() {
      return new table_StarTowerRankAffix(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerRankAffix> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerRankAffix.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerRankAffix> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerRankAffix>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerRankAffix> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerRankAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerRankAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerRankAffix other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerRankReward : pb::IMessage<StarTowerRankReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerRankReward> _parser = new pb::MessageParser<StarTowerRankReward>(() => new StarTowerRankReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerRankReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[422]; }
    }

    [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 StarTowerRankReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankReward(StarTowerRankReward other) : this() {
      id_ = other.id_;
      rankLower_ = other.rankLower_;
      awardItemTid1_ = other.awardItemTid1_;
      awardItemNum1_ = other.awardItemNum1_;
      awardItemTid2_ = other.awardItemTid2_;
      awardItemNum2_ = other.awardItemNum2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankReward Clone() {
      return new StarTowerRankReward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RankLower" field.</summary>
    public const int RankLowerFieldNumber = 2;
    private int rankLower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RankLower {
      get { return rankLower_; }
      set {
        rankLower_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid1" field.</summary>
    public const int AwardItemTid1FieldNumber = 3;
    private int awardItemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid1 {
      get { return awardItemTid1_; }
      set {
        awardItemTid1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum1" field.</summary>
    public const int AwardItemNum1FieldNumber = 4;
    private int awardItemNum1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum1 {
      get { return awardItemNum1_; }
      set {
        awardItemNum1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid2" field.</summary>
    public const int AwardItemTid2FieldNumber = 5;
    private int awardItemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid2 {
      get { return awardItemTid2_; }
      set {
        awardItemTid2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum2" field.</summary>
    public const int AwardItemNum2FieldNumber = 6;
    private int awardItemNum2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum2 {
      get { return awardItemNum2_; }
      set {
        awardItemNum2_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerRankReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerRankReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RankLower != other.RankLower) return false;
      if (AwardItemTid1 != other.AwardItemTid1) return false;
      if (AwardItemNum1 != other.AwardItemNum1) return false;
      if (AwardItemTid2 != other.AwardItemTid2) return false;
      if (AwardItemNum2 != other.AwardItemNum2) 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 (RankLower != 0) hash ^= RankLower.GetHashCode();
      if (AwardItemTid1 != 0) hash ^= AwardItemTid1.GetHashCode();
      if (AwardItemNum1 != 0) hash ^= AwardItemNum1.GetHashCode();
      if (AwardItemTid2 != 0) hash ^= AwardItemTid2.GetHashCode();
      if (AwardItemNum2 != 0) hash ^= AwardItemNum2.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.WriteInt32(Id);
      }
      if (RankLower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RankLower);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AwardItemNum2);
      }
      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.WriteInt32(Id);
      }
      if (RankLower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RankLower);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AwardItemNum2);
      }
      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.ComputeInt32Size(Id);
      }
      if (RankLower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RankLower);
      }
      if (AwardItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerRankReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RankLower != 0) {
        RankLower = other.RankLower;
      }
      if (other.AwardItemTid1 != 0) {
        AwardItemTid1 = other.AwardItemTid1;
      }
      if (other.AwardItemNum1 != 0) {
        AwardItemNum1 = other.AwardItemNum1;
      }
      if (other.AwardItemTid2 != 0) {
        AwardItemTid2 = other.AwardItemTid2;
      }
      if (other.AwardItemNum2 != 0) {
        AwardItemNum2 = other.AwardItemNum2;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            RankLower = input.ReadInt32();
            break;
          }
          case 24: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RankLower = input.ReadInt32();
            break;
          }
          case 24: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerRankReward : pb::IMessage<table_StarTowerRankReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerRankReward> _parser = new pb::MessageParser<table_StarTowerRankReward>(() => new table_StarTowerRankReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerRankReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[423]; }
    }

    [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 table_StarTowerRankReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankReward(table_StarTowerRankReward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankReward Clone() {
      return new table_StarTowerRankReward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerRankReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerRankReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerRankReward> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerRankReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerRankReward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerRankReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerRankReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerRankReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerRankScore : pb::IMessage<StarTowerRankScore>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerRankScore> _parser = new pb::MessageParser<StarTowerRankScore>(() => new StarTowerRankScore());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerRankScore> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[424]; }
    }

    [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 StarTowerRankScore() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankScore(StarTowerRankScore other) : this() {
      difficulty_ = other.difficulty_;
      baseScore_ = other.baseScore_;
      maximumScore_ = other.maximumScore_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankScore Clone() {
      return new StarTowerRankScore(this);
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 1;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "BaseScore" field.</summary>
    public const int BaseScoreFieldNumber = 2;
    private int baseScore_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BaseScore {
      get { return baseScore_; }
      set {
        baseScore_ = value;
      }
    }

    /// <summary>Field number for the "MaximumScore" field.</summary>
    public const int MaximumScoreFieldNumber = 3;
    private int maximumScore_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaximumScore {
      get { return maximumScore_; }
      set {
        maximumScore_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerRankScore);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerRankScore other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Difficulty != other.Difficulty) return false;
      if (BaseScore != other.BaseScore) return false;
      if (MaximumScore != other.MaximumScore) 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 (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (BaseScore != 0) hash ^= BaseScore.GetHashCode();
      if (MaximumScore != 0) hash ^= MaximumScore.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 (Difficulty != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Difficulty);
      }
      if (BaseScore != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BaseScore);
      }
      if (MaximumScore != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaximumScore);
      }
      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 (Difficulty != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Difficulty);
      }
      if (BaseScore != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BaseScore);
      }
      if (MaximumScore != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MaximumScore);
      }
      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 (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (BaseScore != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BaseScore);
      }
      if (MaximumScore != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaximumScore);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerRankScore other) {
      if (other == null) {
        return;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.BaseScore != 0) {
        BaseScore = other.BaseScore;
      }
      if (other.MaximumScore != 0) {
        MaximumScore = other.MaximumScore;
      }
      _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: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 16: {
            BaseScore = input.ReadInt32();
            break;
          }
          case 24: {
            MaximumScore = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 16: {
            BaseScore = input.ReadInt32();
            break;
          }
          case 24: {
            MaximumScore = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerRankScore : pb::IMessage<table_StarTowerRankScore>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerRankScore> _parser = new pb::MessageParser<table_StarTowerRankScore>(() => new table_StarTowerRankScore());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerRankScore> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[425]; }
    }

    [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 table_StarTowerRankScore() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankScore(table_StarTowerRankScore other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankScore Clone() {
      return new table_StarTowerRankScore(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerRankScore> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerRankScore.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerRankScore> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerRankScore>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerRankScore> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerRankScore);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerRankScore other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerRankScore other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerRankSeason : pb::IMessage<StarTowerRankSeason>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerRankSeason> _parser = new pb::MessageParser<StarTowerRankSeason>(() => new StarTowerRankSeason());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerRankSeason> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[426]; }
    }

    [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 StarTowerRankSeason() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankSeason(StarTowerRankSeason other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      openTime_ = other.openTime_;
      endTime_ = other.endTime_;
      affix1_ = other.affix1_;
      affixAdd1_ = other.affixAdd1_.Clone();
      affix2_ = other.affix2_;
      affixAdd2_ = other.affixAdd2_.Clone();
      affix3_ = other.affix3_;
      affixAdd3_ = other.affixAdd3_.Clone();
      affix4_ = other.affix4_;
      affixAdd4_ = other.affixAdd4_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerRankSeason Clone() {
      return new StarTowerRankSeason(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "OpenTime" field.</summary>
    public const int OpenTimeFieldNumber = 3;
    private string openTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OpenTime {
      get { return openTime_; }
      set {
        openTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EndTime" field.</summary>
    public const int EndTimeFieldNumber = 4;
    private string endTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EndTime {
      get { return endTime_; }
      set {
        endTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Affix1" field.</summary>
    public const int Affix1FieldNumber = 5;
    private int affix1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Affix1 {
      get { return affix1_; }
      set {
        affix1_ = value;
      }
    }

    /// <summary>Field number for the "AffixAdd1" field.</summary>
    public const int AffixAdd1FieldNumber = 6;
    private static readonly pb::FieldCodec<int> _repeated_affixAdd1_codec
        = pb::FieldCodec.ForInt32(50);
    private readonly pbc::RepeatedField<int> affixAdd1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AffixAdd1 {
      get { return affixAdd1_; }
    }

    /// <summary>Field number for the "Affix2" field.</summary>
    public const int Affix2FieldNumber = 7;
    private int affix2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Affix2 {
      get { return affix2_; }
      set {
        affix2_ = value;
      }
    }

    /// <summary>Field number for the "AffixAdd2" field.</summary>
    public const int AffixAdd2FieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_affixAdd2_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> affixAdd2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AffixAdd2 {
      get { return affixAdd2_; }
    }

    /// <summary>Field number for the "Affix3" field.</summary>
    public const int Affix3FieldNumber = 9;
    private int affix3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Affix3 {
      get { return affix3_; }
      set {
        affix3_ = value;
      }
    }

    /// <summary>Field number for the "AffixAdd3" field.</summary>
    public const int AffixAdd3FieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_affixAdd3_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> affixAdd3_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AffixAdd3 {
      get { return affixAdd3_; }
    }

    /// <summary>Field number for the "Affix4" field.</summary>
    public const int Affix4FieldNumber = 11;
    private int affix4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Affix4 {
      get { return affix4_; }
      set {
        affix4_ = value;
      }
    }

    /// <summary>Field number for the "AffixAdd4" field.</summary>
    public const int AffixAdd4FieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_affixAdd4_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> affixAdd4_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AffixAdd4 {
      get { return affixAdd4_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerRankSeason);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerRankSeason other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (OpenTime != other.OpenTime) return false;
      if (EndTime != other.EndTime) return false;
      if (Affix1 != other.Affix1) return false;
      if(!affixAdd1_.Equals(other.affixAdd1_)) return false;
      if (Affix2 != other.Affix2) return false;
      if(!affixAdd2_.Equals(other.affixAdd2_)) return false;
      if (Affix3 != other.Affix3) return false;
      if(!affixAdd3_.Equals(other.affixAdd3_)) return false;
      if (Affix4 != other.Affix4) return false;
      if(!affixAdd4_.Equals(other.affixAdd4_)) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (OpenTime.Length != 0) hash ^= OpenTime.GetHashCode();
      if (EndTime.Length != 0) hash ^= EndTime.GetHashCode();
      if (Affix1 != 0) hash ^= Affix1.GetHashCode();
      hash ^= affixAdd1_.GetHashCode();
      if (Affix2 != 0) hash ^= Affix2.GetHashCode();
      hash ^= affixAdd2_.GetHashCode();
      if (Affix3 != 0) hash ^= Affix3.GetHashCode();
      hash ^= affixAdd3_.GetHashCode();
      if (Affix4 != 0) hash ^= Affix4.GetHashCode();
      hash ^= affixAdd4_.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OpenTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(EndTime);
      }
      if (Affix1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Affix1);
      }
      affixAdd1_.WriteTo(output, _repeated_affixAdd1_codec);
      if (Affix2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Affix2);
      }
      affixAdd2_.WriteTo(output, _repeated_affixAdd2_codec);
      if (Affix3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Affix3);
      }
      affixAdd3_.WriteTo(output, _repeated_affixAdd3_codec);
      if (Affix4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Affix4);
      }
      affixAdd4_.WriteTo(output, _repeated_affixAdd4_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OpenTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(EndTime);
      }
      if (Affix1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Affix1);
      }
      affixAdd1_.WriteTo(ref output, _repeated_affixAdd1_codec);
      if (Affix2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Affix2);
      }
      affixAdd2_.WriteTo(ref output, _repeated_affixAdd2_codec);
      if (Affix3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Affix3);
      }
      affixAdd3_.WriteTo(ref output, _repeated_affixAdd3_codec);
      if (Affix4 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Affix4);
      }
      affixAdd4_.WriteTo(ref output, _repeated_affixAdd4_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (OpenTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OpenTime);
      }
      if (EndTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndTime);
      }
      if (Affix1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Affix1);
      }
      size += affixAdd1_.CalculateSize(_repeated_affixAdd1_codec);
      if (Affix2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Affix2);
      }
      size += affixAdd2_.CalculateSize(_repeated_affixAdd2_codec);
      if (Affix3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Affix3);
      }
      size += affixAdd3_.CalculateSize(_repeated_affixAdd3_codec);
      if (Affix4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Affix4);
      }
      size += affixAdd4_.CalculateSize(_repeated_affixAdd4_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerRankSeason other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.OpenTime.Length != 0) {
        OpenTime = other.OpenTime;
      }
      if (other.EndTime.Length != 0) {
        EndTime = other.EndTime;
      }
      if (other.Affix1 != 0) {
        Affix1 = other.Affix1;
      }
      affixAdd1_.Add(other.affixAdd1_);
      if (other.Affix2 != 0) {
        Affix2 = other.Affix2;
      }
      affixAdd2_.Add(other.affixAdd2_);
      if (other.Affix3 != 0) {
        Affix3 = other.Affix3;
      }
      affixAdd3_.Add(other.affixAdd3_);
      if (other.Affix4 != 0) {
        Affix4 = other.Affix4;
      }
      affixAdd4_.Add(other.affixAdd4_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26: {
            OpenTime = input.ReadString();
            break;
          }
          case 34: {
            EndTime = input.ReadString();
            break;
          }
          case 40: {
            Affix1 = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            affixAdd1_.AddEntriesFrom(input, _repeated_affixAdd1_codec);
            break;
          }
          case 56: {
            Affix2 = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            affixAdd2_.AddEntriesFrom(input, _repeated_affixAdd2_codec);
            break;
          }
          case 72: {
            Affix3 = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            affixAdd3_.AddEntriesFrom(input, _repeated_affixAdd3_codec);
            break;
          }
          case 88: {
            Affix4 = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            affixAdd4_.AddEntriesFrom(input, _repeated_affixAdd4_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26: {
            OpenTime = input.ReadString();
            break;
          }
          case 34: {
            EndTime = input.ReadString();
            break;
          }
          case 40: {
            Affix1 = input.ReadInt32();
            break;
          }
          case 50:
          case 48: {
            affixAdd1_.AddEntriesFrom(ref input, _repeated_affixAdd1_codec);
            break;
          }
          case 56: {
            Affix2 = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            affixAdd2_.AddEntriesFrom(ref input, _repeated_affixAdd2_codec);
            break;
          }
          case 72: {
            Affix3 = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            affixAdd3_.AddEntriesFrom(ref input, _repeated_affixAdd3_codec);
            break;
          }
          case 88: {
            Affix4 = input.ReadInt32();
            break;
          }
          case 98:
          case 96: {
            affixAdd4_.AddEntriesFrom(ref input, _repeated_affixAdd4_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerRankSeason : pb::IMessage<table_StarTowerRankSeason>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerRankSeason> _parser = new pb::MessageParser<table_StarTowerRankSeason>(() => new table_StarTowerRankSeason());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerRankSeason> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[427]; }
    }

    [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 table_StarTowerRankSeason() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankSeason(table_StarTowerRankSeason other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerRankSeason Clone() {
      return new table_StarTowerRankSeason(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerRankSeason> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerRankSeason.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerRankSeason> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerRankSeason>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerRankSeason> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerRankSeason);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerRankSeason other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerRankSeason other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerScenePrefab : pb::IMessage<StarTowerScenePrefab>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerScenePrefab> _parser = new pb::MessageParser<StarTowerScenePrefab>(() => new StarTowerScenePrefab());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerScenePrefab> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[428]; }
    }

    [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 StarTowerScenePrefab() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerScenePrefab(StarTowerScenePrefab other) : this() {
      id_ = other.id_;
      configRes_ = other.configRes_;
      bianQuan_ = other.bianQuan_;
      gameplayTypes_ = other.gameplayTypes_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerScenePrefab Clone() {
      return new StarTowerScenePrefab(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ConfigRes" field.</summary>
    public const int ConfigResFieldNumber = 2;
    private string configRes_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigRes {
      get { return configRes_; }
      set {
        configRes_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BianQuan" field.</summary>
    public const int BianQuanFieldNumber = 3;
    private string bianQuan_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BianQuan {
      get { return bianQuan_; }
      set {
        bianQuan_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GameplayTypes" field.</summary>
    public const int GameplayTypesFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_gameplayTypes_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> gameplayTypes_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> GameplayTypes {
      get { return gameplayTypes_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerScenePrefab);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerScenePrefab other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ConfigRes != other.ConfigRes) return false;
      if (BianQuan != other.BianQuan) return false;
      if(!gameplayTypes_.Equals(other.gameplayTypes_)) 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 (ConfigRes.Length != 0) hash ^= ConfigRes.GetHashCode();
      if (BianQuan.Length != 0) hash ^= BianQuan.GetHashCode();
      hash ^= gameplayTypes_.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.WriteInt32(Id);
      }
      if (ConfigRes.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConfigRes);
      }
      if (BianQuan.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(BianQuan);
      }
      gameplayTypes_.WriteTo(output, _repeated_gameplayTypes_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (ConfigRes.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConfigRes);
      }
      if (BianQuan.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(BianQuan);
      }
      gameplayTypes_.WriteTo(ref output, _repeated_gameplayTypes_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (ConfigRes.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigRes);
      }
      if (BianQuan.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BianQuan);
      }
      size += gameplayTypes_.CalculateSize(_repeated_gameplayTypes_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerScenePrefab other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ConfigRes.Length != 0) {
        ConfigRes = other.ConfigRes;
      }
      if (other.BianQuan.Length != 0) {
        BianQuan = other.BianQuan;
      }
      gameplayTypes_.Add(other.gameplayTypes_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            ConfigRes = input.ReadString();
            break;
          }
          case 26: {
            BianQuan = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            gameplayTypes_.AddEntriesFrom(input, _repeated_gameplayTypes_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            ConfigRes = input.ReadString();
            break;
          }
          case 26: {
            BianQuan = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            gameplayTypes_.AddEntriesFrom(ref input, _repeated_gameplayTypes_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerScenePrefab : pb::IMessage<table_StarTowerScenePrefab>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerScenePrefab> _parser = new pb::MessageParser<table_StarTowerScenePrefab>(() => new table_StarTowerScenePrefab());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerScenePrefab> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[429]; }
    }

    [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 table_StarTowerScenePrefab() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerScenePrefab(table_StarTowerScenePrefab other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerScenePrefab Clone() {
      return new table_StarTowerScenePrefab(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerScenePrefab> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerScenePrefab.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerScenePrefab> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerScenePrefab>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerScenePrefab> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerScenePrefab);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerScenePrefab other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerScenePrefab other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerShopGoodsGroup : pb::IMessage<StarTowerShopGoodsGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerShopGoodsGroup> _parser = new pb::MessageParser<StarTowerShopGoodsGroup>(() => new StarTowerShopGoodsGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerShopGoodsGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[430]; }
    }

    [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 StarTowerShopGoodsGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerShopGoodsGroup(StarTowerShopGoodsGroup other) : this() {
      id_ = other.id_;
      showItem_ = other.showItem_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerShopGoodsGroup Clone() {
      return new StarTowerShopGoodsGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ShowItem" field.</summary>
    public const int ShowItemFieldNumber = 2;
    private int showItem_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShowItem {
      get { return showItem_; }
      set {
        showItem_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerShopGoodsGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerShopGoodsGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ShowItem != other.ShowItem) 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 (ShowItem != 0) hash ^= ShowItem.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.WriteInt32(Id);
      }
      if (ShowItem != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ShowItem);
      }
      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.WriteInt32(Id);
      }
      if (ShowItem != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ShowItem);
      }
      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.ComputeInt32Size(Id);
      }
      if (ShowItem != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ShowItem);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerShopGoodsGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ShowItem != 0) {
        ShowItem = other.ShowItem;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ShowItem = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ShowItem = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerShopGoodsGroup : pb::IMessage<table_StarTowerShopGoodsGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerShopGoodsGroup> _parser = new pb::MessageParser<table_StarTowerShopGoodsGroup>(() => new table_StarTowerShopGoodsGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerShopGoodsGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[431]; }
    }

    [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 table_StarTowerShopGoodsGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerShopGoodsGroup(table_StarTowerShopGoodsGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerShopGoodsGroup Clone() {
      return new table_StarTowerShopGoodsGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerShopGoodsGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerShopGoodsGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerShopGoodsGroup> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerShopGoodsGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerShopGoodsGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerShopGoodsGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerShopGoodsGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerShopGoodsGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerSpecificCombat : pb::IMessage<StarTowerSpecificCombat>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerSpecificCombat> _parser = new pb::MessageParser<StarTowerSpecificCombat>(() => new StarTowerSpecificCombat());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerSpecificCombat> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[432]; }
    }

    [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 StarTowerSpecificCombat() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerSpecificCombat(StarTowerSpecificCombat other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      type_ = other.type_;
      eventId_ = other.eventId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerSpecificCombat Clone() {
      return new StarTowerSpecificCombat(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 4;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "EventId" field.</summary>
    public const int EventIdFieldNumber = 5;
    private int eventId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EventId {
      get { return eventId_; }
      set {
        eventId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerSpecificCombat);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerSpecificCombat other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Type != other.Type) return false;
      if (EventId != other.EventId) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (EventId != 0) hash ^= EventId.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (EventId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EventId);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Type != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Type);
      }
      if (EventId != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(EventId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (EventId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EventId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerSpecificCombat other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.EventId != 0) {
        EventId = other.EventId;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 40: {
            EventId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            Type = input.ReadInt32();
            break;
          }
          case 40: {
            EventId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerSpecificCombat : pb::IMessage<table_StarTowerSpecificCombat>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerSpecificCombat> _parser = new pb::MessageParser<table_StarTowerSpecificCombat>(() => new table_StarTowerSpecificCombat());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerSpecificCombat> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[433]; }
    }

    [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 table_StarTowerSpecificCombat() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerSpecificCombat(table_StarTowerSpecificCombat other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerSpecificCombat Clone() {
      return new table_StarTowerSpecificCombat(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerSpecificCombat> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerSpecificCombat.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerSpecificCombat> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerSpecificCombat>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerSpecificCombat> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerSpecificCombat);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerSpecificCombat other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerSpecificCombat other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerSpMode : pb::IMessage<StarTowerSpMode>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerSpMode> _parser = new pb::MessageParser<StarTowerSpMode>(() => new StarTowerSpMode());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerSpMode> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[434]; }
    }

    [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 StarTowerSpMode() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerSpMode(StarTowerSpMode other) : this() {
      id_ = other.id_;
      limitTimeWeight_ = other.limitTimeWeight_;
      limitKilledWeight_ = other.limitKilledWeight_;
      goblinWeight_ = other.goblinWeight_;
      continuousKillingWeight_ = other.continuousKillingWeight_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerSpMode Clone() {
      return new StarTowerSpMode(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "LimitTimeWeight" field.</summary>
    public const int LimitTimeWeightFieldNumber = 2;
    private bool limitTimeWeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool LimitTimeWeight {
      get { return limitTimeWeight_; }
      set {
        limitTimeWeight_ = value;
      }
    }

    /// <summary>Field number for the "LimitKilledWeight" field.</summary>
    public const int LimitKilledWeightFieldNumber = 3;
    private bool limitKilledWeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool LimitKilledWeight {
      get { return limitKilledWeight_; }
      set {
        limitKilledWeight_ = value;
      }
    }

    /// <summary>Field number for the "GoblinWeight" field.</summary>
    public const int GoblinWeightFieldNumber = 4;
    private bool goblinWeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool GoblinWeight {
      get { return goblinWeight_; }
      set {
        goblinWeight_ = value;
      }
    }

    /// <summary>Field number for the "ContinuousKillingWeight" field.</summary>
    public const int ContinuousKillingWeightFieldNumber = 5;
    private bool continuousKillingWeight_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool ContinuousKillingWeight {
      get { return continuousKillingWeight_; }
      set {
        continuousKillingWeight_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerSpMode);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerSpMode other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (LimitTimeWeight != other.LimitTimeWeight) return false;
      if (LimitKilledWeight != other.LimitKilledWeight) return false;
      if (GoblinWeight != other.GoblinWeight) return false;
      if (ContinuousKillingWeight != other.ContinuousKillingWeight) 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 (LimitTimeWeight != false) hash ^= LimitTimeWeight.GetHashCode();
      if (LimitKilledWeight != false) hash ^= LimitKilledWeight.GetHashCode();
      if (GoblinWeight != false) hash ^= GoblinWeight.GetHashCode();
      if (ContinuousKillingWeight != false) hash ^= ContinuousKillingWeight.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.WriteInt32(Id);
      }
      if (LimitTimeWeight != false) {
        output.WriteRawTag(16);
        output.WriteBool(LimitTimeWeight);
      }
      if (LimitKilledWeight != false) {
        output.WriteRawTag(24);
        output.WriteBool(LimitKilledWeight);
      }
      if (GoblinWeight != false) {
        output.WriteRawTag(32);
        output.WriteBool(GoblinWeight);
      }
      if (ContinuousKillingWeight != false) {
        output.WriteRawTag(40);
        output.WriteBool(ContinuousKillingWeight);
      }
      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.WriteInt32(Id);
      }
      if (LimitTimeWeight != false) {
        output.WriteRawTag(16);
        output.WriteBool(LimitTimeWeight);
      }
      if (LimitKilledWeight != false) {
        output.WriteRawTag(24);
        output.WriteBool(LimitKilledWeight);
      }
      if (GoblinWeight != false) {
        output.WriteRawTag(32);
        output.WriteBool(GoblinWeight);
      }
      if (ContinuousKillingWeight != false) {
        output.WriteRawTag(40);
        output.WriteBool(ContinuousKillingWeight);
      }
      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.ComputeInt32Size(Id);
      }
      if (LimitTimeWeight != false) {
        size += 1 + 1;
      }
      if (LimitKilledWeight != false) {
        size += 1 + 1;
      }
      if (GoblinWeight != false) {
        size += 1 + 1;
      }
      if (ContinuousKillingWeight != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerSpMode other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.LimitTimeWeight != false) {
        LimitTimeWeight = other.LimitTimeWeight;
      }
      if (other.LimitKilledWeight != false) {
        LimitKilledWeight = other.LimitKilledWeight;
      }
      if (other.GoblinWeight != false) {
        GoblinWeight = other.GoblinWeight;
      }
      if (other.ContinuousKillingWeight != false) {
        ContinuousKillingWeight = other.ContinuousKillingWeight;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            LimitTimeWeight = input.ReadBool();
            break;
          }
          case 24: {
            LimitKilledWeight = input.ReadBool();
            break;
          }
          case 32: {
            GoblinWeight = input.ReadBool();
            break;
          }
          case 40: {
            ContinuousKillingWeight = input.ReadBool();
            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.ReadInt32();
            break;
          }
          case 16: {
            LimitTimeWeight = input.ReadBool();
            break;
          }
          case 24: {
            LimitKilledWeight = input.ReadBool();
            break;
          }
          case 32: {
            GoblinWeight = input.ReadBool();
            break;
          }
          case 40: {
            ContinuousKillingWeight = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerSpMode : pb::IMessage<table_StarTowerSpMode>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerSpMode> _parser = new pb::MessageParser<table_StarTowerSpMode>(() => new table_StarTowerSpMode());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerSpMode> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[435]; }
    }

    [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 table_StarTowerSpMode() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerSpMode(table_StarTowerSpMode other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerSpMode Clone() {
      return new table_StarTowerSpMode(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerSpMode> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerSpMode.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerSpMode> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerSpMode>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerSpMode> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerSpMode);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerSpMode other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerSpMode other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerStage : pb::IMessage<StarTowerStage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerStage> _parser = new pb::MessageParser<StarTowerStage>(() => new StarTowerStage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerStage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[436]; }
    }

    [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 StarTowerStage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerStage(StarTowerStage other) : this() {
      id_ = other.id_;
      stage_ = other.stage_;
      groupId_ = other.groupId_;
      floor_ = other.floor_;
      roomType_ = other.roomType_;
      interiorCurrencyQuantity_ = other.interiorCurrencyQuantity_;
      guaranteedMapId_ = other.guaranteedMapId_;
      guaranteedMonsterPlanId_ = other.guaranteedMonsterPlanId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerStage Clone() {
      return new StarTowerStage(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Stage" field.</summary>
    public const int StageFieldNumber = 2;
    private int stage_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Stage {
      get { return stage_; }
      set {
        stage_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 3;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Floor" field.</summary>
    public const int FloorFieldNumber = 4;
    private int floor_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Floor {
      get { return floor_; }
      set {
        floor_ = value;
      }
    }

    /// <summary>Field number for the "RoomType" field.</summary>
    public const int RoomTypeFieldNumber = 5;
    private int roomType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RoomType {
      get { return roomType_; }
      set {
        roomType_ = value;
      }
    }

    /// <summary>Field number for the "InteriorCurrencyQuantity" field.</summary>
    public const int InteriorCurrencyQuantityFieldNumber = 6;
    private int interiorCurrencyQuantity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int InteriorCurrencyQuantity {
      get { return interiorCurrencyQuantity_; }
      set {
        interiorCurrencyQuantity_ = value;
      }
    }

    /// <summary>Field number for the "GuaranteedMapId" field.</summary>
    public const int GuaranteedMapIdFieldNumber = 7;
    private int guaranteedMapId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuaranteedMapId {
      get { return guaranteedMapId_; }
      set {
        guaranteedMapId_ = value;
      }
    }

    /// <summary>Field number for the "GuaranteedMonsterPlanId" field.</summary>
    public const int GuaranteedMonsterPlanIdFieldNumber = 8;
    private int guaranteedMonsterPlanId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GuaranteedMonsterPlanId {
      get { return guaranteedMonsterPlanId_; }
      set {
        guaranteedMonsterPlanId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerStage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerStage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Stage != other.Stage) return false;
      if (GroupId != other.GroupId) return false;
      if (Floor != other.Floor) return false;
      if (RoomType != other.RoomType) return false;
      if (InteriorCurrencyQuantity != other.InteriorCurrencyQuantity) return false;
      if (GuaranteedMapId != other.GuaranteedMapId) return false;
      if (GuaranteedMonsterPlanId != other.GuaranteedMonsterPlanId) 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 (Stage != 0) hash ^= Stage.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Floor != 0) hash ^= Floor.GetHashCode();
      if (RoomType != 0) hash ^= RoomType.GetHashCode();
      if (InteriorCurrencyQuantity != 0) hash ^= InteriorCurrencyQuantity.GetHashCode();
      if (GuaranteedMapId != 0) hash ^= GuaranteedMapId.GetHashCode();
      if (GuaranteedMonsterPlanId != 0) hash ^= GuaranteedMonsterPlanId.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.WriteInt32(Id);
      }
      if (Stage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Stage);
      }
      if (GroupId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GroupId);
      }
      if (Floor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Floor);
      }
      if (RoomType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RoomType);
      }
      if (InteriorCurrencyQuantity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(InteriorCurrencyQuantity);
      }
      if (GuaranteedMapId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GuaranteedMapId);
      }
      if (GuaranteedMonsterPlanId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(GuaranteedMonsterPlanId);
      }
      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.WriteInt32(Id);
      }
      if (Stage != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Stage);
      }
      if (GroupId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(GroupId);
      }
      if (Floor != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Floor);
      }
      if (RoomType != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RoomType);
      }
      if (InteriorCurrencyQuantity != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(InteriorCurrencyQuantity);
      }
      if (GuaranteedMapId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(GuaranteedMapId);
      }
      if (GuaranteedMonsterPlanId != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(GuaranteedMonsterPlanId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Stage != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Stage);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Floor != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Floor);
      }
      if (RoomType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RoomType);
      }
      if (InteriorCurrencyQuantity != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(InteriorCurrencyQuantity);
      }
      if (GuaranteedMapId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuaranteedMapId);
      }
      if (GuaranteedMonsterPlanId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GuaranteedMonsterPlanId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerStage other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Stage != 0) {
        Stage = other.Stage;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Floor != 0) {
        Floor = other.Floor;
      }
      if (other.RoomType != 0) {
        RoomType = other.RoomType;
      }
      if (other.InteriorCurrencyQuantity != 0) {
        InteriorCurrencyQuantity = other.InteriorCurrencyQuantity;
      }
      if (other.GuaranteedMapId != 0) {
        GuaranteedMapId = other.GuaranteedMapId;
      }
      if (other.GuaranteedMonsterPlanId != 0) {
        GuaranteedMonsterPlanId = other.GuaranteedMonsterPlanId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Stage = input.ReadInt32();
            break;
          }
          case 24: {
            GroupId = input.ReadInt32();
            break;
          }
          case 32: {
            Floor = input.ReadInt32();
            break;
          }
          case 40: {
            RoomType = input.ReadInt32();
            break;
          }
          case 48: {
            InteriorCurrencyQuantity = input.ReadInt32();
            break;
          }
          case 56: {
            GuaranteedMapId = input.ReadInt32();
            break;
          }
          case 64: {
            GuaranteedMonsterPlanId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Stage = input.ReadInt32();
            break;
          }
          case 24: {
            GroupId = input.ReadInt32();
            break;
          }
          case 32: {
            Floor = input.ReadInt32();
            break;
          }
          case 40: {
            RoomType = input.ReadInt32();
            break;
          }
          case 48: {
            InteriorCurrencyQuantity = input.ReadInt32();
            break;
          }
          case 56: {
            GuaranteedMapId = input.ReadInt32();
            break;
          }
          case 64: {
            GuaranteedMonsterPlanId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerStage : pb::IMessage<table_StarTowerStage>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerStage> _parser = new pb::MessageParser<table_StarTowerStage>(() => new table_StarTowerStage());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerStage> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[437]; }
    }

    [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 table_StarTowerStage() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerStage(table_StarTowerStage other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerStage Clone() {
      return new table_StarTowerStage(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerStage> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerStage.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerStage> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerStage>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerStage> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerStage);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerStage other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerStage other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerTalk : pb::IMessage<StarTowerTalk>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerTalk> _parser = new pb::MessageParser<StarTowerTalk>(() => new StarTowerTalk());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerTalk> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[438]; }
    }

    [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 StarTowerTalk() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerTalk(StarTowerTalk other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      content_ = other.content_;
      color_ = other.color_;
      face_ = other.face_;
      voice_ = other.voice_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerTalk Clone() {
      return new StarTowerTalk(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Content" field.</summary>
    public const int ContentFieldNumber = 3;
    private string content_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Content {
      get { return content_; }
      set {
        content_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Color" field.</summary>
    public const int ColorFieldNumber = 4;
    private string color_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Color {
      get { return color_; }
      set {
        color_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Face" field.</summary>
    public const int FaceFieldNumber = 5;
    private string face_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Face {
      get { return face_; }
      set {
        face_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Voice" field.</summary>
    public const int VoiceFieldNumber = 6;
    private string voice_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Voice {
      get { return voice_; }
      set {
        voice_ = 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 StarTowerTalk);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerTalk other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Content != other.Content) return false;
      if (Color != other.Color) return false;
      if (Face != other.Face) return false;
      if (Voice != other.Voice) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Content.Length != 0) hash ^= Content.GetHashCode();
      if (Color.Length != 0) hash ^= Color.GetHashCode();
      if (Face.Length != 0) hash ^= Face.GetHashCode();
      if (Voice.Length != 0) hash ^= Voice.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Content);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Color);
      }
      if (Face.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Face);
      }
      if (Voice.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Voice);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Content.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Content);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Color);
      }
      if (Face.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Face);
      }
      if (Voice.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Voice);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Content.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Content);
      }
      if (Color.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Color);
      }
      if (Face.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Face);
      }
      if (Voice.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Voice);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerTalk other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Content.Length != 0) {
        Content = other.Content;
      }
      if (other.Color.Length != 0) {
        Color = other.Color;
      }
      if (other.Face.Length != 0) {
        Face = other.Face;
      }
      if (other.Voice.Length != 0) {
        Voice = other.Voice;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Content = input.ReadString();
            break;
          }
          case 34: {
            Color = input.ReadString();
            break;
          }
          case 42: {
            Face = input.ReadString();
            break;
          }
          case 50: {
            Voice = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Content = input.ReadString();
            break;
          }
          case 34: {
            Color = input.ReadString();
            break;
          }
          case 42: {
            Face = input.ReadString();
            break;
          }
          case 50: {
            Voice = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerTalk : pb::IMessage<table_StarTowerTalk>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerTalk> _parser = new pb::MessageParser<table_StarTowerTalk>(() => new table_StarTowerTalk());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerTalk> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[439]; }
    }

    [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 table_StarTowerTalk() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerTalk(table_StarTowerTalk other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerTalk Clone() {
      return new table_StarTowerTalk(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerTalk> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerTalk.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerTalk> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerTalk>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerTalk> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerTalk);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerTalk other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerTalk other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StarTowerTeamExp : pb::IMessage<StarTowerTeamExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StarTowerTeamExp> _parser = new pb::MessageParser<StarTowerTeamExp>(() => new StarTowerTeamExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StarTowerTeamExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[440]; }
    }

    [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 StarTowerTeamExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerTeamExp(StarTowerTeamExp other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      level_ = other.level_;
      needExp_ = other.needExp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StarTowerTeamExp Clone() {
      return new StarTowerTeamExp(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 3;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "NeedExp" field.</summary>
    public const int NeedExpFieldNumber = 4;
    private int needExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedExp {
      get { return needExp_; }
      set {
        needExp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StarTowerTeamExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StarTowerTeamExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Level != other.Level) return false;
      if (NeedExp != other.NeedExp) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (NeedExp != 0) hash ^= NeedExp.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (NeedExp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NeedExp);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Level != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Level);
      }
      if (NeedExp != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NeedExp);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (NeedExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedExp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StarTowerTeamExp other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.NeedExp != 0) {
        NeedExp = other.NeedExp;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            NeedExp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Level = input.ReadInt32();
            break;
          }
          case 32: {
            NeedExp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StarTowerTeamExp : pb::IMessage<table_StarTowerTeamExp>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StarTowerTeamExp> _parser = new pb::MessageParser<table_StarTowerTeamExp>(() => new table_StarTowerTeamExp());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StarTowerTeamExp> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[441]; }
    }

    [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 table_StarTowerTeamExp() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerTeamExp(table_StarTowerTeamExp other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StarTowerTeamExp Clone() {
      return new table_StarTowerTeamExp(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StarTowerTeamExp> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StarTowerTeamExp.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StarTowerTeamExp> list_ = new pbc::RepeatedField<global::Nova.Client.StarTowerTeamExp>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StarTowerTeamExp> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StarTowerTeamExp);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StarTowerTeamExp other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StarTowerTeamExp other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Story : pb::IMessage<Story>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Story> _parser = new pb::MessageParser<Story>(() => new Story());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Story> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[442]; }
    }

    [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 Story() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Story(Story other) : this() {
      id_ = other.id_;
      storyId_ = other.storyId_;
      comment_ = other.comment_;
      chapter_ = other.chapter_;
      index_ = other.index_;
      title_ = other.title_;
      desc_ = other.desc_;
      trialBuild_ = other.trialBuild_;
      conditionId_ = other.conditionId_;
      isBranch_ = other.isBranch_;
      isBattle_ = other.isBattle_;
      reward_ = other.reward_;
      rewardDisplay_ = other.rewardDisplay_;
      parentStoryId_ = other.parentStoryId_.Clone();
      hasEvidence_ = other.hasEvidence_;
      avgLuaName_ = other.avgLuaName_;
      floorId_ = other.floorId_.Clone();
      previewMonsterGroupId_ = other.previewMonsterGroupId_;
      recommend_ = other.recommend_;
      aim_ = other.aim_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Story Clone() {
      return new Story(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "StoryId" field.</summary>
    public const int StoryIdFieldNumber = 2;
    private string storyId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string StoryId {
      get { return storyId_; }
      set {
        storyId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Comment" field.</summary>
    public const int CommentFieldNumber = 3;
    private string comment_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Comment {
      get { return comment_; }
      set {
        comment_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Chapter" field.</summary>
    public const int ChapterFieldNumber = 4;
    private int chapter_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Chapter {
      get { return chapter_; }
      set {
        chapter_ = value;
      }
    }

    /// <summary>Field number for the "Index" field.</summary>
    public const int IndexFieldNumber = 5;
    private string index_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Index {
      get { return index_; }
      set {
        index_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 6;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 7;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TrialBuild" field.</summary>
    public const int TrialBuildFieldNumber = 8;
    private int trialBuild_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TrialBuild {
      get { return trialBuild_; }
      set {
        trialBuild_ = value;
      }
    }

    /// <summary>Field number for the "ConditionId" field.</summary>
    public const int ConditionIdFieldNumber = 9;
    private string conditionId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConditionId {
      get { return conditionId_; }
      set {
        conditionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IsBranch" field.</summary>
    public const int IsBranchFieldNumber = 10;
    private bool isBranch_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsBranch {
      get { return isBranch_; }
      set {
        isBranch_ = value;
      }
    }

    /// <summary>Field number for the "IsBattle" field.</summary>
    public const int IsBattleFieldNumber = 11;
    private bool isBattle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsBattle {
      get { return isBattle_; }
      set {
        isBattle_ = value;
      }
    }

    /// <summary>Field number for the "Reward" field.</summary>
    public const int RewardFieldNumber = 12;
    private int reward_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward {
      get { return reward_; }
      set {
        reward_ = value;
      }
    }

    /// <summary>Field number for the "RewardDisplay" field.</summary>
    public const int RewardDisplayFieldNumber = 13;
    private string rewardDisplay_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string RewardDisplay {
      get { return rewardDisplay_; }
      set {
        rewardDisplay_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ParentStoryId" field.</summary>
    public const int ParentStoryIdFieldNumber = 14;
    private static readonly pb::FieldCodec<string> _repeated_parentStoryId_codec
        = pb::FieldCodec.ForString(114);
    private readonly pbc::RepeatedField<string> parentStoryId_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> ParentStoryId {
      get { return parentStoryId_; }
    }

    /// <summary>Field number for the "HasEvidence" field.</summary>
    public const int HasEvidenceFieldNumber = 15;
    private bool hasEvidence_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HasEvidence {
      get { return hasEvidence_; }
      set {
        hasEvidence_ = value;
      }
    }

    /// <summary>Field number for the "AvgLuaName" field.</summary>
    public const int AvgLuaNameFieldNumber = 16;
    private string avgLuaName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AvgLuaName {
      get { return avgLuaName_; }
      set {
        avgLuaName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 17;
    private static readonly pb::FieldCodec<int> _repeated_floorId_codec
        = pb::FieldCodec.ForInt32(138);
    private readonly pbc::RepeatedField<int> floorId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FloorId {
      get { return floorId_; }
    }

    /// <summary>Field number for the "PreviewMonsterGroupId" field.</summary>
    public const int PreviewMonsterGroupIdFieldNumber = 18;
    private int previewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterGroupId {
      get { return previewMonsterGroupId_; }
      set {
        previewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "Recommend" field.</summary>
    public const int RecommendFieldNumber = 19;
    private string recommend_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Recommend {
      get { return recommend_; }
      set {
        recommend_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Aim" field.</summary>
    public const int AimFieldNumber = 20;
    private string aim_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Aim {
      get { return aim_; }
      set {
        aim_ = 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 Story);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Story other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (StoryId != other.StoryId) return false;
      if (Comment != other.Comment) return false;
      if (Chapter != other.Chapter) return false;
      if (Index != other.Index) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (TrialBuild != other.TrialBuild) return false;
      if (ConditionId != other.ConditionId) return false;
      if (IsBranch != other.IsBranch) return false;
      if (IsBattle != other.IsBattle) return false;
      if (Reward != other.Reward) return false;
      if (RewardDisplay != other.RewardDisplay) return false;
      if(!parentStoryId_.Equals(other.parentStoryId_)) return false;
      if (HasEvidence != other.HasEvidence) return false;
      if (AvgLuaName != other.AvgLuaName) return false;
      if(!floorId_.Equals(other.floorId_)) return false;
      if (PreviewMonsterGroupId != other.PreviewMonsterGroupId) return false;
      if (Recommend != other.Recommend) return false;
      if (Aim != other.Aim) 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 (StoryId.Length != 0) hash ^= StoryId.GetHashCode();
      if (Comment.Length != 0) hash ^= Comment.GetHashCode();
      if (Chapter != 0) hash ^= Chapter.GetHashCode();
      if (Index.Length != 0) hash ^= Index.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (TrialBuild != 0) hash ^= TrialBuild.GetHashCode();
      if (ConditionId.Length != 0) hash ^= ConditionId.GetHashCode();
      if (IsBranch != false) hash ^= IsBranch.GetHashCode();
      if (IsBattle != false) hash ^= IsBattle.GetHashCode();
      if (Reward != 0) hash ^= Reward.GetHashCode();
      if (RewardDisplay.Length != 0) hash ^= RewardDisplay.GetHashCode();
      hash ^= parentStoryId_.GetHashCode();
      if (HasEvidence != false) hash ^= HasEvidence.GetHashCode();
      if (AvgLuaName.Length != 0) hash ^= AvgLuaName.GetHashCode();
      hash ^= floorId_.GetHashCode();
      if (PreviewMonsterGroupId != 0) hash ^= PreviewMonsterGroupId.GetHashCode();
      if (Recommend.Length != 0) hash ^= Recommend.GetHashCode();
      if (Aim.Length != 0) hash ^= Aim.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.WriteInt32(Id);
      }
      if (StoryId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(StoryId);
      }
      if (Comment.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Comment);
      }
      if (Chapter != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Chapter);
      }
      if (Index.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Index);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (TrialBuild != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(TrialBuild);
      }
      if (ConditionId.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ConditionId);
      }
      if (IsBranch != false) {
        output.WriteRawTag(80);
        output.WriteBool(IsBranch);
      }
      if (IsBattle != false) {
        output.WriteRawTag(88);
        output.WriteBool(IsBattle);
      }
      if (Reward != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Reward);
      }
      if (RewardDisplay.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(RewardDisplay);
      }
      parentStoryId_.WriteTo(output, _repeated_parentStoryId_codec);
      if (HasEvidence != false) {
        output.WriteRawTag(120);
        output.WriteBool(HasEvidence);
      }
      if (AvgLuaName.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(AvgLuaName);
      }
      floorId_.WriteTo(output, _repeated_floorId_codec);
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Recommend.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Recommend);
      }
      if (Aim.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Aim);
      }
      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.WriteInt32(Id);
      }
      if (StoryId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(StoryId);
      }
      if (Comment.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Comment);
      }
      if (Chapter != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Chapter);
      }
      if (Index.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Index);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (TrialBuild != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(TrialBuild);
      }
      if (ConditionId.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(ConditionId);
      }
      if (IsBranch != false) {
        output.WriteRawTag(80);
        output.WriteBool(IsBranch);
      }
      if (IsBattle != false) {
        output.WriteRawTag(88);
        output.WriteBool(IsBattle);
      }
      if (Reward != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(Reward);
      }
      if (RewardDisplay.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(RewardDisplay);
      }
      parentStoryId_.WriteTo(ref output, _repeated_parentStoryId_codec);
      if (HasEvidence != false) {
        output.WriteRawTag(120);
        output.WriteBool(HasEvidence);
      }
      if (AvgLuaName.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(AvgLuaName);
      }
      floorId_.WriteTo(ref output, _repeated_floorId_codec);
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (Recommend.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Recommend);
      }
      if (Aim.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Aim);
      }
      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.ComputeInt32Size(Id);
      }
      if (StoryId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(StoryId);
      }
      if (Comment.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Comment);
      }
      if (Chapter != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Chapter);
      }
      if (Index.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Index);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (TrialBuild != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TrialBuild);
      }
      if (ConditionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConditionId);
      }
      if (IsBranch != false) {
        size += 1 + 1;
      }
      if (IsBattle != false) {
        size += 1 + 1;
      }
      if (Reward != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward);
      }
      if (RewardDisplay.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(RewardDisplay);
      }
      size += parentStoryId_.CalculateSize(_repeated_parentStoryId_codec);
      if (HasEvidence != false) {
        size += 1 + 1;
      }
      if (AvgLuaName.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AvgLuaName);
      }
      size += floorId_.CalculateSize(_repeated_floorId_codec);
      if (PreviewMonsterGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterGroupId);
      }
      if (Recommend.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Recommend);
      }
      if (Aim.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Aim);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Story other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.StoryId.Length != 0) {
        StoryId = other.StoryId;
      }
      if (other.Comment.Length != 0) {
        Comment = other.Comment;
      }
      if (other.Chapter != 0) {
        Chapter = other.Chapter;
      }
      if (other.Index.Length != 0) {
        Index = other.Index;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.TrialBuild != 0) {
        TrialBuild = other.TrialBuild;
      }
      if (other.ConditionId.Length != 0) {
        ConditionId = other.ConditionId;
      }
      if (other.IsBranch != false) {
        IsBranch = other.IsBranch;
      }
      if (other.IsBattle != false) {
        IsBattle = other.IsBattle;
      }
      if (other.Reward != 0) {
        Reward = other.Reward;
      }
      if (other.RewardDisplay.Length != 0) {
        RewardDisplay = other.RewardDisplay;
      }
      parentStoryId_.Add(other.parentStoryId_);
      if (other.HasEvidence != false) {
        HasEvidence = other.HasEvidence;
      }
      if (other.AvgLuaName.Length != 0) {
        AvgLuaName = other.AvgLuaName;
      }
      floorId_.Add(other.floorId_);
      if (other.PreviewMonsterGroupId != 0) {
        PreviewMonsterGroupId = other.PreviewMonsterGroupId;
      }
      if (other.Recommend.Length != 0) {
        Recommend = other.Recommend;
      }
      if (other.Aim.Length != 0) {
        Aim = other.Aim;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            StoryId = input.ReadString();
            break;
          }
          case 26: {
            Comment = input.ReadString();
            break;
          }
          case 32: {
            Chapter = input.ReadInt32();
            break;
          }
          case 42: {
            Index = input.ReadString();
            break;
          }
          case 50: {
            Title = input.ReadString();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 64: {
            TrialBuild = input.ReadInt32();
            break;
          }
          case 74: {
            ConditionId = input.ReadString();
            break;
          }
          case 80: {
            IsBranch = input.ReadBool();
            break;
          }
          case 88: {
            IsBattle = input.ReadBool();
            break;
          }
          case 96: {
            Reward = input.ReadInt32();
            break;
          }
          case 106: {
            RewardDisplay = input.ReadString();
            break;
          }
          case 114: {
            parentStoryId_.AddEntriesFrom(input, _repeated_parentStoryId_codec);
            break;
          }
          case 120: {
            HasEvidence = input.ReadBool();
            break;
          }
          case 130: {
            AvgLuaName = input.ReadString();
            break;
          }
          case 138:
          case 136: {
            floorId_.AddEntriesFrom(input, _repeated_floorId_codec);
            break;
          }
          case 144: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 154: {
            Recommend = input.ReadString();
            break;
          }
          case 162: {
            Aim = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            StoryId = input.ReadString();
            break;
          }
          case 26: {
            Comment = input.ReadString();
            break;
          }
          case 32: {
            Chapter = input.ReadInt32();
            break;
          }
          case 42: {
            Index = input.ReadString();
            break;
          }
          case 50: {
            Title = input.ReadString();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 64: {
            TrialBuild = input.ReadInt32();
            break;
          }
          case 74: {
            ConditionId = input.ReadString();
            break;
          }
          case 80: {
            IsBranch = input.ReadBool();
            break;
          }
          case 88: {
            IsBattle = input.ReadBool();
            break;
          }
          case 96: {
            Reward = input.ReadInt32();
            break;
          }
          case 106: {
            RewardDisplay = input.ReadString();
            break;
          }
          case 114: {
            parentStoryId_.AddEntriesFrom(ref input, _repeated_parentStoryId_codec);
            break;
          }
          case 120: {
            HasEvidence = input.ReadBool();
            break;
          }
          case 130: {
            AvgLuaName = input.ReadString();
            break;
          }
          case 138:
          case 136: {
            floorId_.AddEntriesFrom(ref input, _repeated_floorId_codec);
            break;
          }
          case 144: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 154: {
            Recommend = input.ReadString();
            break;
          }
          case 162: {
            Aim = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Story : pb::IMessage<table_Story>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Story> _parser = new pb::MessageParser<table_Story>(() => new table_Story());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Story> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[443]; }
    }

    [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 table_Story() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Story(table_Story other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Story Clone() {
      return new table_Story(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Story> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Story.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Story> list_ = new pbc::RepeatedField<global::Nova.Client.Story>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Story> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Story);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Story other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Story other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StoryChapter : pb::IMessage<StoryChapter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StoryChapter> _parser = new pb::MessageParser<StoryChapter>(() => new StoryChapter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StoryChapter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[444]; }
    }

    [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 StoryChapter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryChapter(StoryChapter other) : this() {
      id_ = other.id_;
      type_ = other.type_;
      worldClass_ = other.worldClass_;
      prevStories_ = other.prevStories_.Clone();
      index_ = other.index_;
      name_ = other.name_;
      desc_ = other.desc_;
      chapterIcon_ = other.chapterIcon_;
      timeStamp_ = other.timeStamp_.Clone();
      chapterYear_ = other.chapterYear_;
      unlockShowStoryId_ = other.unlockShowStoryId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryChapter Clone() {
      return new StoryChapter(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 2;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "WorldClass" field.</summary>
    public const int WorldClassFieldNumber = 3;
    private int worldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WorldClass {
      get { return worldClass_; }
      set {
        worldClass_ = value;
      }
    }

    /// <summary>Field number for the "PrevStories" field.</summary>
    public const int PrevStoriesFieldNumber = 4;
    private static readonly pb::FieldCodec<string> _repeated_prevStories_codec
        = pb::FieldCodec.ForString(34);
    private readonly pbc::RepeatedField<string> prevStories_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> PrevStories {
      get { return prevStories_; }
    }

    /// <summary>Field number for the "Index" field.</summary>
    public const int IndexFieldNumber = 5;
    private string index_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Index {
      get { return index_; }
      set {
        index_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 6;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 7;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ChapterIcon" field.</summary>
    public const int ChapterIconFieldNumber = 8;
    private string chapterIcon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ChapterIcon {
      get { return chapterIcon_; }
      set {
        chapterIcon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TimeStamp" field.</summary>
    public const int TimeStampFieldNumber = 9;
    private static readonly pb::FieldCodec<string> _repeated_timeStamp_codec
        = pb::FieldCodec.ForString(74);
    private readonly pbc::RepeatedField<string> timeStamp_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> TimeStamp {
      get { return timeStamp_; }
    }

    /// <summary>Field number for the "ChapterYear" field.</summary>
    public const int ChapterYearFieldNumber = 10;
    private string chapterYear_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ChapterYear {
      get { return chapterYear_; }
      set {
        chapterYear_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "UnlockShowStoryId" field.</summary>
    public const int UnlockShowStoryIdFieldNumber = 11;
    private int unlockShowStoryId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockShowStoryId {
      get { return unlockShowStoryId_; }
      set {
        unlockShowStoryId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StoryChapter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StoryChapter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Type != other.Type) return false;
      if (WorldClass != other.WorldClass) return false;
      if(!prevStories_.Equals(other.prevStories_)) return false;
      if (Index != other.Index) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (ChapterIcon != other.ChapterIcon) return false;
      if(!timeStamp_.Equals(other.timeStamp_)) return false;
      if (ChapterYear != other.ChapterYear) return false;
      if (UnlockShowStoryId != other.UnlockShowStoryId) 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 (Type != 0) hash ^= Type.GetHashCode();
      if (WorldClass != 0) hash ^= WorldClass.GetHashCode();
      hash ^= prevStories_.GetHashCode();
      if (Index.Length != 0) hash ^= Index.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (ChapterIcon.Length != 0) hash ^= ChapterIcon.GetHashCode();
      hash ^= timeStamp_.GetHashCode();
      if (ChapterYear.Length != 0) hash ^= ChapterYear.GetHashCode();
      if (UnlockShowStoryId != 0) hash ^= UnlockShowStoryId.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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(WorldClass);
      }
      prevStories_.WriteTo(output, _repeated_prevStories_codec);
      if (Index.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Index);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (ChapterIcon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ChapterIcon);
      }
      timeStamp_.WriteTo(output, _repeated_timeStamp_codec);
      if (ChapterYear.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ChapterYear);
      }
      if (UnlockShowStoryId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UnlockShowStoryId);
      }
      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.WriteInt32(Id);
      }
      if (Type != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Type);
      }
      if (WorldClass != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(WorldClass);
      }
      prevStories_.WriteTo(ref output, _repeated_prevStories_codec);
      if (Index.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Index);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Desc);
      }
      if (ChapterIcon.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(ChapterIcon);
      }
      timeStamp_.WriteTo(ref output, _repeated_timeStamp_codec);
      if (ChapterYear.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(ChapterYear);
      }
      if (UnlockShowStoryId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(UnlockShowStoryId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (WorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WorldClass);
      }
      size += prevStories_.CalculateSize(_repeated_prevStories_codec);
      if (Index.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Index);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (ChapterIcon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterIcon);
      }
      size += timeStamp_.CalculateSize(_repeated_timeStamp_codec);
      if (ChapterYear.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ChapterYear);
      }
      if (UnlockShowStoryId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockShowStoryId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StoryChapter other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.WorldClass != 0) {
        WorldClass = other.WorldClass;
      }
      prevStories_.Add(other.prevStories_);
      if (other.Index.Length != 0) {
        Index = other.Index;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.ChapterIcon.Length != 0) {
        ChapterIcon = other.ChapterIcon;
      }
      timeStamp_.Add(other.timeStamp_);
      if (other.ChapterYear.Length != 0) {
        ChapterYear = other.ChapterYear;
      }
      if (other.UnlockShowStoryId != 0) {
        UnlockShowStoryId = other.UnlockShowStoryId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 24: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 34: {
            prevStories_.AddEntriesFrom(input, _repeated_prevStories_codec);
            break;
          }
          case 42: {
            Index = input.ReadString();
            break;
          }
          case 50: {
            Name = input.ReadString();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 66: {
            ChapterIcon = input.ReadString();
            break;
          }
          case 74: {
            timeStamp_.AddEntriesFrom(input, _repeated_timeStamp_codec);
            break;
          }
          case 82: {
            ChapterYear = input.ReadString();
            break;
          }
          case 88: {
            UnlockShowStoryId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Type = input.ReadInt32();
            break;
          }
          case 24: {
            WorldClass = input.ReadInt32();
            break;
          }
          case 34: {
            prevStories_.AddEntriesFrom(ref input, _repeated_prevStories_codec);
            break;
          }
          case 42: {
            Index = input.ReadString();
            break;
          }
          case 50: {
            Name = input.ReadString();
            break;
          }
          case 58: {
            Desc = input.ReadString();
            break;
          }
          case 66: {
            ChapterIcon = input.ReadString();
            break;
          }
          case 74: {
            timeStamp_.AddEntriesFrom(ref input, _repeated_timeStamp_codec);
            break;
          }
          case 82: {
            ChapterYear = input.ReadString();
            break;
          }
          case 88: {
            UnlockShowStoryId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StoryChapter : pb::IMessage<table_StoryChapter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StoryChapter> _parser = new pb::MessageParser<table_StoryChapter>(() => new table_StoryChapter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StoryChapter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[445]; }
    }

    [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 table_StoryChapter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryChapter(table_StoryChapter other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryChapter Clone() {
      return new table_StoryChapter(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StoryChapter> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StoryChapter.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StoryChapter> list_ = new pbc::RepeatedField<global::Nova.Client.StoryChapter>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StoryChapter> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StoryChapter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StoryChapter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StoryChapter other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StoryCondition : pb::IMessage<StoryCondition>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StoryCondition> _parser = new pb::MessageParser<StoryCondition>(() => new StoryCondition());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StoryCondition> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[446]; }
    }

    [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 StoryCondition() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryCondition(StoryCondition other) : this() {
      id_ = other.id_;
      conditionId_ = other.conditionId_;
      comment_ = other.comment_;
      evIdsA_ = other.evIdsA_.Clone();
      evIdsB_ = other.evIdsB_.Clone();
      storyIdA_ = other.storyIdA_.Clone();
      storyIdB_ = other.storyIdB_.Clone();
      playerWorldLevel_ = other.playerWorldLevel_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryCondition Clone() {
      return new StoryCondition(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ConditionId" field.</summary>
    public const int ConditionIdFieldNumber = 2;
    private string conditionId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConditionId {
      get { return conditionId_; }
      set {
        conditionId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Comment" field.</summary>
    public const int CommentFieldNumber = 3;
    private string comment_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Comment {
      get { return comment_; }
      set {
        comment_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EvIds_a" field.</summary>
    public const int EvIdsAFieldNumber = 4;
    private static readonly pb::FieldCodec<string> _repeated_evIdsA_codec
        = pb::FieldCodec.ForString(34);
    private readonly pbc::RepeatedField<string> evIdsA_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> EvIdsA {
      get { return evIdsA_; }
    }

    /// <summary>Field number for the "EvIds_b" field.</summary>
    public const int EvIdsBFieldNumber = 5;
    private static readonly pb::FieldCodec<string> _repeated_evIdsB_codec
        = pb::FieldCodec.ForString(42);
    private readonly pbc::RepeatedField<string> evIdsB_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> EvIdsB {
      get { return evIdsB_; }
    }

    /// <summary>Field number for the "StoryId_a" field.</summary>
    public const int StoryIdAFieldNumber = 6;
    private static readonly pb::FieldCodec<string> _repeated_storyIdA_codec
        = pb::FieldCodec.ForString(50);
    private readonly pbc::RepeatedField<string> storyIdA_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> StoryIdA {
      get { return storyIdA_; }
    }

    /// <summary>Field number for the "StoryId_b" field.</summary>
    public const int StoryIdBFieldNumber = 7;
    private static readonly pb::FieldCodec<string> _repeated_storyIdB_codec
        = pb::FieldCodec.ForString(58);
    private readonly pbc::RepeatedField<string> storyIdB_ = new pbc::RepeatedField<string>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<string> StoryIdB {
      get { return storyIdB_; }
    }

    /// <summary>Field number for the "PlayerWorldLevel" field.</summary>
    public const int PlayerWorldLevelFieldNumber = 8;
    private int playerWorldLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PlayerWorldLevel {
      get { return playerWorldLevel_; }
      set {
        playerWorldLevel_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as StoryCondition);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StoryCondition other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ConditionId != other.ConditionId) return false;
      if (Comment != other.Comment) return false;
      if(!evIdsA_.Equals(other.evIdsA_)) return false;
      if(!evIdsB_.Equals(other.evIdsB_)) return false;
      if(!storyIdA_.Equals(other.storyIdA_)) return false;
      if(!storyIdB_.Equals(other.storyIdB_)) return false;
      if (PlayerWorldLevel != other.PlayerWorldLevel) 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 (ConditionId.Length != 0) hash ^= ConditionId.GetHashCode();
      if (Comment.Length != 0) hash ^= Comment.GetHashCode();
      hash ^= evIdsA_.GetHashCode();
      hash ^= evIdsB_.GetHashCode();
      hash ^= storyIdA_.GetHashCode();
      hash ^= storyIdB_.GetHashCode();
      if (PlayerWorldLevel != 0) hash ^= PlayerWorldLevel.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.WriteInt32(Id);
      }
      if (ConditionId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConditionId);
      }
      if (Comment.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Comment);
      }
      evIdsA_.WriteTo(output, _repeated_evIdsA_codec);
      evIdsB_.WriteTo(output, _repeated_evIdsB_codec);
      storyIdA_.WriteTo(output, _repeated_storyIdA_codec);
      storyIdB_.WriteTo(output, _repeated_storyIdB_codec);
      if (PlayerWorldLevel != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PlayerWorldLevel);
      }
      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.WriteInt32(Id);
      }
      if (ConditionId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(ConditionId);
      }
      if (Comment.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Comment);
      }
      evIdsA_.WriteTo(ref output, _repeated_evIdsA_codec);
      evIdsB_.WriteTo(ref output, _repeated_evIdsB_codec);
      storyIdA_.WriteTo(ref output, _repeated_storyIdA_codec);
      storyIdB_.WriteTo(ref output, _repeated_storyIdB_codec);
      if (PlayerWorldLevel != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(PlayerWorldLevel);
      }
      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.ComputeInt32Size(Id);
      }
      if (ConditionId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConditionId);
      }
      if (Comment.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Comment);
      }
      size += evIdsA_.CalculateSize(_repeated_evIdsA_codec);
      size += evIdsB_.CalculateSize(_repeated_evIdsB_codec);
      size += storyIdA_.CalculateSize(_repeated_storyIdA_codec);
      size += storyIdB_.CalculateSize(_repeated_storyIdB_codec);
      if (PlayerWorldLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PlayerWorldLevel);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StoryCondition other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ConditionId.Length != 0) {
        ConditionId = other.ConditionId;
      }
      if (other.Comment.Length != 0) {
        Comment = other.Comment;
      }
      evIdsA_.Add(other.evIdsA_);
      evIdsB_.Add(other.evIdsB_);
      storyIdA_.Add(other.storyIdA_);
      storyIdB_.Add(other.storyIdB_);
      if (other.PlayerWorldLevel != 0) {
        PlayerWorldLevel = other.PlayerWorldLevel;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            ConditionId = input.ReadString();
            break;
          }
          case 26: {
            Comment = input.ReadString();
            break;
          }
          case 34: {
            evIdsA_.AddEntriesFrom(input, _repeated_evIdsA_codec);
            break;
          }
          case 42: {
            evIdsB_.AddEntriesFrom(input, _repeated_evIdsB_codec);
            break;
          }
          case 50: {
            storyIdA_.AddEntriesFrom(input, _repeated_storyIdA_codec);
            break;
          }
          case 58: {
            storyIdB_.AddEntriesFrom(input, _repeated_storyIdB_codec);
            break;
          }
          case 64: {
            PlayerWorldLevel = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            ConditionId = input.ReadString();
            break;
          }
          case 26: {
            Comment = input.ReadString();
            break;
          }
          case 34: {
            evIdsA_.AddEntriesFrom(ref input, _repeated_evIdsA_codec);
            break;
          }
          case 42: {
            evIdsB_.AddEntriesFrom(ref input, _repeated_evIdsB_codec);
            break;
          }
          case 50: {
            storyIdA_.AddEntriesFrom(ref input, _repeated_storyIdA_codec);
            break;
          }
          case 58: {
            storyIdB_.AddEntriesFrom(ref input, _repeated_storyIdB_codec);
            break;
          }
          case 64: {
            PlayerWorldLevel = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StoryCondition : pb::IMessage<table_StoryCondition>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StoryCondition> _parser = new pb::MessageParser<table_StoryCondition>(() => new table_StoryCondition());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StoryCondition> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[447]; }
    }

    [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 table_StoryCondition() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryCondition(table_StoryCondition other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryCondition Clone() {
      return new table_StoryCondition(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StoryCondition> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StoryCondition.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StoryCondition> list_ = new pbc::RepeatedField<global::Nova.Client.StoryCondition>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StoryCondition> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StoryCondition);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StoryCondition other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StoryCondition other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StoryEvidence : pb::IMessage<StoryEvidence>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StoryEvidence> _parser = new pb::MessageParser<StoryEvidence>(() => new StoryEvidence());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StoryEvidence> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[448]; }
    }

    [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 StoryEvidence() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryEvidence(StoryEvidence other) : this() {
      id_ = other.id_;
      evId_ = other.evId_;
      comment_ = other.comment_;
      name_ = other.name_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      iconBg_ = other.iconBg_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryEvidence Clone() {
      return new StoryEvidence(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "EvId" field.</summary>
    public const int EvIdFieldNumber = 2;
    private string evId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EvId {
      get { return evId_; }
      set {
        evId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Comment" field.</summary>
    public const int CommentFieldNumber = 3;
    private string comment_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Comment {
      get { return comment_; }
      set {
        comment_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 5;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 6;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "IconBg" field.</summary>
    public const int IconBgFieldNumber = 7;
    private string iconBg_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IconBg {
      get { return iconBg_; }
      set {
        iconBg_ = 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 StoryEvidence);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StoryEvidence other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (EvId != other.EvId) return false;
      if (Comment != other.Comment) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (IconBg != other.IconBg) 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 (EvId.Length != 0) hash ^= EvId.GetHashCode();
      if (Comment.Length != 0) hash ^= Comment.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (IconBg.Length != 0) hash ^= IconBg.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.WriteInt32(Id);
      }
      if (EvId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(EvId);
      }
      if (Comment.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Comment);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(IconBg);
      }
      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.WriteInt32(Id);
      }
      if (EvId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(EvId);
      }
      if (Comment.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Comment);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Icon);
      }
      if (IconBg.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(IconBg);
      }
      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.ComputeInt32Size(Id);
      }
      if (EvId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EvId);
      }
      if (Comment.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Comment);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (IconBg.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IconBg);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StoryEvidence other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.EvId.Length != 0) {
        EvId = other.EvId;
      }
      if (other.Comment.Length != 0) {
        Comment = other.Comment;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.IconBg.Length != 0) {
        IconBg = other.IconBg;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            EvId = input.ReadString();
            break;
          }
          case 26: {
            Comment = input.ReadString();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Icon = input.ReadString();
            break;
          }
          case 58: {
            IconBg = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            EvId = input.ReadString();
            break;
          }
          case 26: {
            Comment = input.ReadString();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Icon = input.ReadString();
            break;
          }
          case 58: {
            IconBg = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StoryEvidence : pb::IMessage<table_StoryEvidence>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StoryEvidence> _parser = new pb::MessageParser<table_StoryEvidence>(() => new table_StoryEvidence());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StoryEvidence> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[449]; }
    }

    [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 table_StoryEvidence() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryEvidence(table_StoryEvidence other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryEvidence Clone() {
      return new table_StoryEvidence(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StoryEvidence> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StoryEvidence.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StoryEvidence> list_ = new pbc::RepeatedField<global::Nova.Client.StoryEvidence>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StoryEvidence> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StoryEvidence);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StoryEvidence other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StoryEvidence other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StoryPersonality : pb::IMessage<StoryPersonality>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StoryPersonality> _parser = new pb::MessageParser<StoryPersonality>(() => new StoryPersonality());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StoryPersonality> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[450]; }
    }

    [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 StoryPersonality() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryPersonality(StoryPersonality other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      db_ = other.db_;
      icon_ = other.icon_;
      color_ = other.color_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryPersonality Clone() {
      return new StoryPersonality(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Db" field.</summary>
    public const int DbFieldNumber = 3;
    private string db_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Db {
      get { return db_; }
      set {
        db_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 4;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Color" field.</summary>
    public const int ColorFieldNumber = 5;
    private string color_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Color {
      get { return color_; }
      set {
        color_ = 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 StoryPersonality);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StoryPersonality other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Db != other.Db) return false;
      if (Icon != other.Icon) return false;
      if (Color != other.Color) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Db.Length != 0) hash ^= Db.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Color.Length != 0) hash ^= Color.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Db.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Db);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Color);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Db.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Db);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Color);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Db.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Db);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Color.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Color);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StoryPersonality other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Db.Length != 0) {
        Db = other.Db;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Color.Length != 0) {
        Color = other.Color;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Db = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            Color = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Db = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            Color = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StoryPersonality : pb::IMessage<table_StoryPersonality>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StoryPersonality> _parser = new pb::MessageParser<table_StoryPersonality>(() => new table_StoryPersonality());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StoryPersonality> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[451]; }
    }

    [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 table_StoryPersonality() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryPersonality(table_StoryPersonality other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryPersonality Clone() {
      return new table_StoryPersonality(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StoryPersonality> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StoryPersonality.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StoryPersonality> list_ = new pbc::RepeatedField<global::Nova.Client.StoryPersonality>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StoryPersonality> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StoryPersonality);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StoryPersonality other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StoryPersonality other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class StoryRolePersonality : pb::IMessage<StoryRolePersonality>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<StoryRolePersonality> _parser = new pb::MessageParser<StoryRolePersonality>(() => new StoryRolePersonality());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<StoryRolePersonality> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[452]; }
    }

    [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 StoryRolePersonality() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryRolePersonality(StoryRolePersonality other) : this() {
      id_ = other.id_;
      avgCharId_ = other.avgCharId_;
      personalitys_ = other.personalitys_.Clone();
      baseValue_ = other.baseValue_.Clone();
      amax_ = other.amax_;
      amaxFace_ = other.amaxFace_;
      bmax_ = other.bmax_;
      bmaxFace_ = other.bmaxFace_;
      cmax_ = other.cmax_;
      cmaxFace_ = other.cmaxFace_;
      aplus_ = other.aplus_;
      aplusFace_ = other.aplusFace_;
      bplus_ = other.bplus_;
      bplusFace_ = other.bplusFace_;
      cplus_ = other.cplus_;
      cplusFace_ = other.cplusFace_;
      ab_ = other.ab_;
      abFace_ = other.abFace_;
      ac_ = other.ac_;
      acFace_ = other.acFace_;
      bc_ = other.bc_;
      bcFace_ = other.bcFace_;
      normal_ = other.normal_;
      normalFace_ = other.normalFace_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public StoryRolePersonality Clone() {
      return new StoryRolePersonality(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "AvgCharId" field.</summary>
    public const int AvgCharIdFieldNumber = 2;
    private string avgCharId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AvgCharId {
      get { return avgCharId_; }
      set {
        avgCharId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Personalitys" field.</summary>
    public const int PersonalitysFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_personalitys_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> personalitys_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Personalitys {
      get { return personalitys_; }
    }

    /// <summary>Field number for the "BaseValue" field.</summary>
    public const int BaseValueFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_baseValue_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> baseValue_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BaseValue {
      get { return baseValue_; }
    }

    /// <summary>Field number for the "Amax" field.</summary>
    public const int AmaxFieldNumber = 5;
    private string amax_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Amax {
      get { return amax_; }
      set {
        amax_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AmaxFace" field.</summary>
    public const int AmaxFaceFieldNumber = 6;
    private string amaxFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AmaxFace {
      get { return amaxFace_; }
      set {
        amaxFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bmax" field.</summary>
    public const int BmaxFieldNumber = 7;
    private string bmax_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Bmax {
      get { return bmax_; }
      set {
        bmax_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BmaxFace" field.</summary>
    public const int BmaxFaceFieldNumber = 8;
    private string bmaxFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BmaxFace {
      get { return bmaxFace_; }
      set {
        bmaxFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cmax" field.</summary>
    public const int CmaxFieldNumber = 9;
    private string cmax_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Cmax {
      get { return cmax_; }
      set {
        cmax_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CmaxFace" field.</summary>
    public const int CmaxFaceFieldNumber = 10;
    private string cmaxFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CmaxFace {
      get { return cmaxFace_; }
      set {
        cmaxFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Aplus" field.</summary>
    public const int AplusFieldNumber = 11;
    private string aplus_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Aplus {
      get { return aplus_; }
      set {
        aplus_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AplusFace" field.</summary>
    public const int AplusFaceFieldNumber = 12;
    private string aplusFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AplusFace {
      get { return aplusFace_; }
      set {
        aplusFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bplus" field.</summary>
    public const int BplusFieldNumber = 13;
    private string bplus_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Bplus {
      get { return bplus_; }
      set {
        bplus_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BplusFace" field.</summary>
    public const int BplusFaceFieldNumber = 14;
    private string bplusFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BplusFace {
      get { return bplusFace_; }
      set {
        bplusFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cplus" field.</summary>
    public const int CplusFieldNumber = 15;
    private string cplus_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Cplus {
      get { return cplus_; }
      set {
        cplus_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CplusFace" field.</summary>
    public const int CplusFaceFieldNumber = 16;
    private string cplusFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CplusFace {
      get { return cplusFace_; }
      set {
        cplusFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Ab" field.</summary>
    public const int AbFieldNumber = 17;
    private string ab_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Ab {
      get { return ab_; }
      set {
        ab_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AbFace" field.</summary>
    public const int AbFaceFieldNumber = 18;
    private string abFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AbFace {
      get { return abFace_; }
      set {
        abFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Ac" field.</summary>
    public const int AcFieldNumber = 19;
    private string ac_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Ac {
      get { return ac_; }
      set {
        ac_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AcFace" field.</summary>
    public const int AcFaceFieldNumber = 20;
    private string acFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AcFace {
      get { return acFace_; }
      set {
        acFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Bc" field.</summary>
    public const int BcFieldNumber = 21;
    private string bc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Bc {
      get { return bc_; }
      set {
        bc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "BcFace" field.</summary>
    public const int BcFaceFieldNumber = 22;
    private string bcFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BcFace {
      get { return bcFace_; }
      set {
        bcFace_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Normal" field.</summary>
    public const int NormalFieldNumber = 23;
    private string normal_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Normal {
      get { return normal_; }
      set {
        normal_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "NormalFace" field.</summary>
    public const int NormalFaceFieldNumber = 24;
    private string normalFace_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string NormalFace {
      get { return normalFace_; }
      set {
        normalFace_ = 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 StoryRolePersonality);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(StoryRolePersonality other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (AvgCharId != other.AvgCharId) return false;
      if(!personalitys_.Equals(other.personalitys_)) return false;
      if(!baseValue_.Equals(other.baseValue_)) return false;
      if (Amax != other.Amax) return false;
      if (AmaxFace != other.AmaxFace) return false;
      if (Bmax != other.Bmax) return false;
      if (BmaxFace != other.BmaxFace) return false;
      if (Cmax != other.Cmax) return false;
      if (CmaxFace != other.CmaxFace) return false;
      if (Aplus != other.Aplus) return false;
      if (AplusFace != other.AplusFace) return false;
      if (Bplus != other.Bplus) return false;
      if (BplusFace != other.BplusFace) return false;
      if (Cplus != other.Cplus) return false;
      if (CplusFace != other.CplusFace) return false;
      if (Ab != other.Ab) return false;
      if (AbFace != other.AbFace) return false;
      if (Ac != other.Ac) return false;
      if (AcFace != other.AcFace) return false;
      if (Bc != other.Bc) return false;
      if (BcFace != other.BcFace) return false;
      if (Normal != other.Normal) return false;
      if (NormalFace != other.NormalFace) 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 (AvgCharId.Length != 0) hash ^= AvgCharId.GetHashCode();
      hash ^= personalitys_.GetHashCode();
      hash ^= baseValue_.GetHashCode();
      if (Amax.Length != 0) hash ^= Amax.GetHashCode();
      if (AmaxFace.Length != 0) hash ^= AmaxFace.GetHashCode();
      if (Bmax.Length != 0) hash ^= Bmax.GetHashCode();
      if (BmaxFace.Length != 0) hash ^= BmaxFace.GetHashCode();
      if (Cmax.Length != 0) hash ^= Cmax.GetHashCode();
      if (CmaxFace.Length != 0) hash ^= CmaxFace.GetHashCode();
      if (Aplus.Length != 0) hash ^= Aplus.GetHashCode();
      if (AplusFace.Length != 0) hash ^= AplusFace.GetHashCode();
      if (Bplus.Length != 0) hash ^= Bplus.GetHashCode();
      if (BplusFace.Length != 0) hash ^= BplusFace.GetHashCode();
      if (Cplus.Length != 0) hash ^= Cplus.GetHashCode();
      if (CplusFace.Length != 0) hash ^= CplusFace.GetHashCode();
      if (Ab.Length != 0) hash ^= Ab.GetHashCode();
      if (AbFace.Length != 0) hash ^= AbFace.GetHashCode();
      if (Ac.Length != 0) hash ^= Ac.GetHashCode();
      if (AcFace.Length != 0) hash ^= AcFace.GetHashCode();
      if (Bc.Length != 0) hash ^= Bc.GetHashCode();
      if (BcFace.Length != 0) hash ^= BcFace.GetHashCode();
      if (Normal.Length != 0) hash ^= Normal.GetHashCode();
      if (NormalFace.Length != 0) hash ^= NormalFace.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.WriteInt32(Id);
      }
      if (AvgCharId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AvgCharId);
      }
      personalitys_.WriteTo(output, _repeated_personalitys_codec);
      baseValue_.WriteTo(output, _repeated_baseValue_codec);
      if (Amax.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Amax);
      }
      if (AmaxFace.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AmaxFace);
      }
      if (Bmax.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Bmax);
      }
      if (BmaxFace.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(BmaxFace);
      }
      if (Cmax.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Cmax);
      }
      if (CmaxFace.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CmaxFace);
      }
      if (Aplus.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Aplus);
      }
      if (AplusFace.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(AplusFace);
      }
      if (Bplus.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Bplus);
      }
      if (BplusFace.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(BplusFace);
      }
      if (Cplus.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Cplus);
      }
      if (CplusFace.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(CplusFace);
      }
      if (Ab.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Ab);
      }
      if (AbFace.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(AbFace);
      }
      if (Ac.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Ac);
      }
      if (AcFace.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(AcFace);
      }
      if (Bc.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Bc);
      }
      if (BcFace.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(BcFace);
      }
      if (Normal.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Normal);
      }
      if (NormalFace.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(NormalFace);
      }
      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.WriteInt32(Id);
      }
      if (AvgCharId.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(AvgCharId);
      }
      personalitys_.WriteTo(ref output, _repeated_personalitys_codec);
      baseValue_.WriteTo(ref output, _repeated_baseValue_codec);
      if (Amax.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Amax);
      }
      if (AmaxFace.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AmaxFace);
      }
      if (Bmax.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Bmax);
      }
      if (BmaxFace.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(BmaxFace);
      }
      if (Cmax.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Cmax);
      }
      if (CmaxFace.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(CmaxFace);
      }
      if (Aplus.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Aplus);
      }
      if (AplusFace.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(AplusFace);
      }
      if (Bplus.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Bplus);
      }
      if (BplusFace.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(BplusFace);
      }
      if (Cplus.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Cplus);
      }
      if (CplusFace.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(CplusFace);
      }
      if (Ab.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Ab);
      }
      if (AbFace.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(AbFace);
      }
      if (Ac.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Ac);
      }
      if (AcFace.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(AcFace);
      }
      if (Bc.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Bc);
      }
      if (BcFace.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(BcFace);
      }
      if (Normal.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Normal);
      }
      if (NormalFace.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(NormalFace);
      }
      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.ComputeInt32Size(Id);
      }
      if (AvgCharId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AvgCharId);
      }
      size += personalitys_.CalculateSize(_repeated_personalitys_codec);
      size += baseValue_.CalculateSize(_repeated_baseValue_codec);
      if (Amax.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Amax);
      }
      if (AmaxFace.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AmaxFace);
      }
      if (Bmax.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Bmax);
      }
      if (BmaxFace.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BmaxFace);
      }
      if (Cmax.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Cmax);
      }
      if (CmaxFace.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CmaxFace);
      }
      if (Aplus.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Aplus);
      }
      if (AplusFace.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AplusFace);
      }
      if (Bplus.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Bplus);
      }
      if (BplusFace.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BplusFace);
      }
      if (Cplus.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Cplus);
      }
      if (CplusFace.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(CplusFace);
      }
      if (Ab.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Ab);
      }
      if (AbFace.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AbFace);
      }
      if (Ac.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Ac);
      }
      if (AcFace.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(AcFace);
      }
      if (Bc.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Bc);
      }
      if (BcFace.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BcFace);
      }
      if (Normal.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Normal);
      }
      if (NormalFace.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(NormalFace);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(StoryRolePersonality other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.AvgCharId.Length != 0) {
        AvgCharId = other.AvgCharId;
      }
      personalitys_.Add(other.personalitys_);
      baseValue_.Add(other.baseValue_);
      if (other.Amax.Length != 0) {
        Amax = other.Amax;
      }
      if (other.AmaxFace.Length != 0) {
        AmaxFace = other.AmaxFace;
      }
      if (other.Bmax.Length != 0) {
        Bmax = other.Bmax;
      }
      if (other.BmaxFace.Length != 0) {
        BmaxFace = other.BmaxFace;
      }
      if (other.Cmax.Length != 0) {
        Cmax = other.Cmax;
      }
      if (other.CmaxFace.Length != 0) {
        CmaxFace = other.CmaxFace;
      }
      if (other.Aplus.Length != 0) {
        Aplus = other.Aplus;
      }
      if (other.AplusFace.Length != 0) {
        AplusFace = other.AplusFace;
      }
      if (other.Bplus.Length != 0) {
        Bplus = other.Bplus;
      }
      if (other.BplusFace.Length != 0) {
        BplusFace = other.BplusFace;
      }
      if (other.Cplus.Length != 0) {
        Cplus = other.Cplus;
      }
      if (other.CplusFace.Length != 0) {
        CplusFace = other.CplusFace;
      }
      if (other.Ab.Length != 0) {
        Ab = other.Ab;
      }
      if (other.AbFace.Length != 0) {
        AbFace = other.AbFace;
      }
      if (other.Ac.Length != 0) {
        Ac = other.Ac;
      }
      if (other.AcFace.Length != 0) {
        AcFace = other.AcFace;
      }
      if (other.Bc.Length != 0) {
        Bc = other.Bc;
      }
      if (other.BcFace.Length != 0) {
        BcFace = other.BcFace;
      }
      if (other.Normal.Length != 0) {
        Normal = other.Normal;
      }
      if (other.NormalFace.Length != 0) {
        NormalFace = other.NormalFace;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            AvgCharId = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            personalitys_.AddEntriesFrom(input, _repeated_personalitys_codec);
            break;
          }
          case 34:
          case 32: {
            baseValue_.AddEntriesFrom(input, _repeated_baseValue_codec);
            break;
          }
          case 42: {
            Amax = input.ReadString();
            break;
          }
          case 50: {
            AmaxFace = input.ReadString();
            break;
          }
          case 58: {
            Bmax = input.ReadString();
            break;
          }
          case 66: {
            BmaxFace = input.ReadString();
            break;
          }
          case 74: {
            Cmax = input.ReadString();
            break;
          }
          case 82: {
            CmaxFace = input.ReadString();
            break;
          }
          case 90: {
            Aplus = input.ReadString();
            break;
          }
          case 98: {
            AplusFace = input.ReadString();
            break;
          }
          case 106: {
            Bplus = input.ReadString();
            break;
          }
          case 114: {
            BplusFace = input.ReadString();
            break;
          }
          case 122: {
            Cplus = input.ReadString();
            break;
          }
          case 130: {
            CplusFace = input.ReadString();
            break;
          }
          case 138: {
            Ab = input.ReadString();
            break;
          }
          case 146: {
            AbFace = input.ReadString();
            break;
          }
          case 154: {
            Ac = input.ReadString();
            break;
          }
          case 162: {
            AcFace = input.ReadString();
            break;
          }
          case 170: {
            Bc = input.ReadString();
            break;
          }
          case 178: {
            BcFace = input.ReadString();
            break;
          }
          case 186: {
            Normal = input.ReadString();
            break;
          }
          case 194: {
            NormalFace = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            AvgCharId = input.ReadString();
            break;
          }
          case 26:
          case 24: {
            personalitys_.AddEntriesFrom(ref input, _repeated_personalitys_codec);
            break;
          }
          case 34:
          case 32: {
            baseValue_.AddEntriesFrom(ref input, _repeated_baseValue_codec);
            break;
          }
          case 42: {
            Amax = input.ReadString();
            break;
          }
          case 50: {
            AmaxFace = input.ReadString();
            break;
          }
          case 58: {
            Bmax = input.ReadString();
            break;
          }
          case 66: {
            BmaxFace = input.ReadString();
            break;
          }
          case 74: {
            Cmax = input.ReadString();
            break;
          }
          case 82: {
            CmaxFace = input.ReadString();
            break;
          }
          case 90: {
            Aplus = input.ReadString();
            break;
          }
          case 98: {
            AplusFace = input.ReadString();
            break;
          }
          case 106: {
            Bplus = input.ReadString();
            break;
          }
          case 114: {
            BplusFace = input.ReadString();
            break;
          }
          case 122: {
            Cplus = input.ReadString();
            break;
          }
          case 130: {
            CplusFace = input.ReadString();
            break;
          }
          case 138: {
            Ab = input.ReadString();
            break;
          }
          case 146: {
            AbFace = input.ReadString();
            break;
          }
          case 154: {
            Ac = input.ReadString();
            break;
          }
          case 162: {
            AcFace = input.ReadString();
            break;
          }
          case 170: {
            Bc = input.ReadString();
            break;
          }
          case 178: {
            BcFace = input.ReadString();
            break;
          }
          case 186: {
            Normal = input.ReadString();
            break;
          }
          case 194: {
            NormalFace = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_StoryRolePersonality : pb::IMessage<table_StoryRolePersonality>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_StoryRolePersonality> _parser = new pb::MessageParser<table_StoryRolePersonality>(() => new table_StoryRolePersonality());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_StoryRolePersonality> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[453]; }
    }

    [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 table_StoryRolePersonality() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryRolePersonality(table_StoryRolePersonality other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_StoryRolePersonality Clone() {
      return new table_StoryRolePersonality(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.StoryRolePersonality> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.StoryRolePersonality.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.StoryRolePersonality> list_ = new pbc::RepeatedField<global::Nova.Client.StoryRolePersonality>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.StoryRolePersonality> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_StoryRolePersonality);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_StoryRolePersonality other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_StoryRolePersonality other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Talent : pb::IMessage<Talent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Talent> _parser = new pb::MessageParser<Talent>(() => new Talent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Talent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[454]; }
    }

    [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 Talent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Talent(Talent other) : this() {
      id_ = other.id_;
      index_ = other.index_;
      title_ = other.title_;
      groupId_ = other.groupId_;
      type_ = other.type_;
      subType_ = other.subType_;
      sort_ = other.sort_;
      nodes_ = other.nodes_;
      effectId_ = other.effectId_.Clone();
      enhanceSkillId_ = other.enhanceSkillId_;
      enhanceSkillLevel_ = other.enhanceSkillLevel_;
      enhancePotentialId_ = other.enhancePotentialId_;
      enhancePotentialLevel_ = other.enhancePotentialLevel_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      param1_ = other.param1_;
      param2_ = other.param2_;
      param3_ = other.param3_;
      param4_ = other.param4_;
      param5_ = other.param5_;
      param6_ = other.param6_;
      param7_ = other.param7_;
      param8_ = other.param8_;
      param9_ = other.param9_;
      param10_ = other.param10_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Talent Clone() {
      return new Talent(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Index" field.</summary>
    public const int IndexFieldNumber = 2;
    private int index_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Index {
      get { return index_; }
      set {
        index_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 3;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 4;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 5;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "SubType" field.</summary>
    public const int SubTypeFieldNumber = 6;
    private int subType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SubType {
      get { return subType_; }
      set {
        subType_ = value;
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 7;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    /// <summary>Field number for the "Nodes" field.</summary>
    public const int NodesFieldNumber = 8;
    private int nodes_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Nodes {
      get { return nodes_; }
      set {
        nodes_ = value;
      }
    }

    /// <summary>Field number for the "EffectId" field.</summary>
    public const int EffectIdFieldNumber = 9;
    private static readonly pb::FieldCodec<int> _repeated_effectId_codec
        = pb::FieldCodec.ForInt32(74);
    private readonly pbc::RepeatedField<int> effectId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId {
      get { return effectId_; }
    }

    /// <summary>Field number for the "EnhanceSkillId" field.</summary>
    public const int EnhanceSkillIdFieldNumber = 10;
    private int enhanceSkillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnhanceSkillId {
      get { return enhanceSkillId_; }
      set {
        enhanceSkillId_ = value;
      }
    }

    /// <summary>Field number for the "EnhanceSkillLevel" field.</summary>
    public const int EnhanceSkillLevelFieldNumber = 11;
    private int enhanceSkillLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnhanceSkillLevel {
      get { return enhanceSkillLevel_; }
      set {
        enhanceSkillLevel_ = value;
      }
    }

    /// <summary>Field number for the "EnhancePotentialId" field.</summary>
    public const int EnhancePotentialIdFieldNumber = 12;
    private int enhancePotentialId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnhancePotentialId {
      get { return enhancePotentialId_; }
      set {
        enhancePotentialId_ = value;
      }
    }

    /// <summary>Field number for the "EnhancePotentialLevel" field.</summary>
    public const int EnhancePotentialLevelFieldNumber = 13;
    private int enhancePotentialLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnhancePotentialLevel {
      get { return enhancePotentialLevel_; }
      set {
        enhancePotentialLevel_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 14;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 15;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 16;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 17;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 18;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 19;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param5" field.</summary>
    public const int Param5FieldNumber = 20;
    private string param5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param5 {
      get { return param5_; }
      set {
        param5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param6" field.</summary>
    public const int Param6FieldNumber = 21;
    private string param6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param6 {
      get { return param6_; }
      set {
        param6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param7" field.</summary>
    public const int Param7FieldNumber = 22;
    private string param7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param7 {
      get { return param7_; }
      set {
        param7_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param8" field.</summary>
    public const int Param8FieldNumber = 23;
    private string param8_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param8 {
      get { return param8_; }
      set {
        param8_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param9" field.</summary>
    public const int Param9FieldNumber = 24;
    private string param9_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param9 {
      get { return param9_; }
      set {
        param9_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param10" field.</summary>
    public const int Param10FieldNumber = 25;
    private string param10_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param10 {
      get { return param10_; }
      set {
        param10_ = 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 Talent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Talent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Index != other.Index) return false;
      if (Title != other.Title) return false;
      if (GroupId != other.GroupId) return false;
      if (Type != other.Type) return false;
      if (SubType != other.SubType) return false;
      if (Sort != other.Sort) return false;
      if (Nodes != other.Nodes) return false;
      if(!effectId_.Equals(other.effectId_)) return false;
      if (EnhanceSkillId != other.EnhanceSkillId) return false;
      if (EnhanceSkillLevel != other.EnhanceSkillLevel) return false;
      if (EnhancePotentialId != other.EnhancePotentialId) return false;
      if (EnhancePotentialLevel != other.EnhancePotentialLevel) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (Param1 != other.Param1) return false;
      if (Param2 != other.Param2) return false;
      if (Param3 != other.Param3) return false;
      if (Param4 != other.Param4) return false;
      if (Param5 != other.Param5) return false;
      if (Param6 != other.Param6) return false;
      if (Param7 != other.Param7) return false;
      if (Param8 != other.Param8) return false;
      if (Param9 != other.Param9) return false;
      if (Param10 != other.Param10) 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 (Index != 0) hash ^= Index.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (SubType != 0) hash ^= SubType.GetHashCode();
      if (Sort != 0) hash ^= Sort.GetHashCode();
      if (Nodes != 0) hash ^= Nodes.GetHashCode();
      hash ^= effectId_.GetHashCode();
      if (EnhanceSkillId != 0) hash ^= EnhanceSkillId.GetHashCode();
      if (EnhanceSkillLevel != 0) hash ^= EnhanceSkillLevel.GetHashCode();
      if (EnhancePotentialId != 0) hash ^= EnhancePotentialId.GetHashCode();
      if (EnhancePotentialLevel != 0) hash ^= EnhancePotentialLevel.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.GetHashCode();
      if (Param5.Length != 0) hash ^= Param5.GetHashCode();
      if (Param6.Length != 0) hash ^= Param6.GetHashCode();
      if (Param7.Length != 0) hash ^= Param7.GetHashCode();
      if (Param8.Length != 0) hash ^= Param8.GetHashCode();
      if (Param9.Length != 0) hash ^= Param9.GetHashCode();
      if (Param10.Length != 0) hash ^= Param10.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.WriteInt32(Id);
      }
      if (Index != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Index);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (GroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GroupId);
      }
      if (Type != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Type);
      }
      if (SubType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SubType);
      }
      if (Sort != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Sort);
      }
      if (Nodes != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Nodes);
      }
      effectId_.WriteTo(output, _repeated_effectId_codec);
      if (EnhanceSkillId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(EnhanceSkillId);
      }
      if (EnhanceSkillLevel != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(EnhanceSkillLevel);
      }
      if (EnhancePotentialId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(EnhancePotentialId);
      }
      if (EnhancePotentialLevel != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(EnhancePotentialLevel);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Icon);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param10);
      }
      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.WriteInt32(Id);
      }
      if (Index != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Index);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (GroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(GroupId);
      }
      if (Type != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Type);
      }
      if (SubType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SubType);
      }
      if (Sort != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Sort);
      }
      if (Nodes != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Nodes);
      }
      effectId_.WriteTo(ref output, _repeated_effectId_codec);
      if (EnhanceSkillId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(EnhanceSkillId);
      }
      if (EnhanceSkillLevel != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(EnhanceSkillLevel);
      }
      if (EnhancePotentialId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(EnhancePotentialId);
      }
      if (EnhancePotentialLevel != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(EnhancePotentialLevel);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Icon);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(130, 1);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(162, 1);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(178, 1);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(186, 1);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(194, 1);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(202, 1);
        output.WriteString(Param10);
      }
      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.ComputeInt32Size(Id);
      }
      if (Index != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Index);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (SubType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SubType);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (Nodes != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Nodes);
      }
      size += effectId_.CalculateSize(_repeated_effectId_codec);
      if (EnhanceSkillId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnhanceSkillId);
      }
      if (EnhanceSkillLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnhanceSkillLevel);
      }
      if (EnhancePotentialId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnhancePotentialId);
      }
      if (EnhancePotentialLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnhancePotentialLevel);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Param1.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Param2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Param3.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Param4.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (Param5.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param5);
      }
      if (Param6.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param6);
      }
      if (Param7.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param7);
      }
      if (Param8.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param8);
      }
      if (Param9.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param9);
      }
      if (Param10.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Param10);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Talent other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Index != 0) {
        Index = other.Index;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.SubType != 0) {
        SubType = other.SubType;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      if (other.Nodes != 0) {
        Nodes = other.Nodes;
      }
      effectId_.Add(other.effectId_);
      if (other.EnhanceSkillId != 0) {
        EnhanceSkillId = other.EnhanceSkillId;
      }
      if (other.EnhanceSkillLevel != 0) {
        EnhanceSkillLevel = other.EnhanceSkillLevel;
      }
      if (other.EnhancePotentialId != 0) {
        EnhancePotentialId = other.EnhancePotentialId;
      }
      if (other.EnhancePotentialLevel != 0) {
        EnhancePotentialLevel = other.EnhancePotentialLevel;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      if (other.Param5.Length != 0) {
        Param5 = other.Param5;
      }
      if (other.Param6.Length != 0) {
        Param6 = other.Param6;
      }
      if (other.Param7.Length != 0) {
        Param7 = other.Param7;
      }
      if (other.Param8.Length != 0) {
        Param8 = other.Param8;
      }
      if (other.Param9.Length != 0) {
        Param9 = other.Param9;
      }
      if (other.Param10.Length != 0) {
        Param10 = other.Param10;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Index = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 32: {
            GroupId = input.ReadInt32();
            break;
          }
          case 40: {
            Type = input.ReadInt32();
            break;
          }
          case 48: {
            SubType = input.ReadInt32();
            break;
          }
          case 56: {
            Sort = input.ReadInt32();
            break;
          }
          case 64: {
            Nodes = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            effectId_.AddEntriesFrom(input, _repeated_effectId_codec);
            break;
          }
          case 80: {
            EnhanceSkillId = input.ReadInt32();
            break;
          }
          case 88: {
            EnhanceSkillLevel = input.ReadInt32();
            break;
          }
          case 96: {
            EnhancePotentialId = input.ReadInt32();
            break;
          }
          case 104: {
            EnhancePotentialLevel = input.ReadInt32();
            break;
          }
          case 114: {
            Desc = input.ReadString();
            break;
          }
          case 122: {
            Icon = input.ReadString();
            break;
          }
          case 130: {
            Param1 = input.ReadString();
            break;
          }
          case 138: {
            Param2 = input.ReadString();
            break;
          }
          case 146: {
            Param3 = input.ReadString();
            break;
          }
          case 154: {
            Param4 = input.ReadString();
            break;
          }
          case 162: {
            Param5 = input.ReadString();
            break;
          }
          case 170: {
            Param6 = input.ReadString();
            break;
          }
          case 178: {
            Param7 = input.ReadString();
            break;
          }
          case 186: {
            Param8 = input.ReadString();
            break;
          }
          case 194: {
            Param9 = input.ReadString();
            break;
          }
          case 202: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Index = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 32: {
            GroupId = input.ReadInt32();
            break;
          }
          case 40: {
            Type = input.ReadInt32();
            break;
          }
          case 48: {
            SubType = input.ReadInt32();
            break;
          }
          case 56: {
            Sort = input.ReadInt32();
            break;
          }
          case 64: {
            Nodes = input.ReadInt32();
            break;
          }
          case 74:
          case 72: {
            effectId_.AddEntriesFrom(ref input, _repeated_effectId_codec);
            break;
          }
          case 80: {
            EnhanceSkillId = input.ReadInt32();
            break;
          }
          case 88: {
            EnhanceSkillLevel = input.ReadInt32();
            break;
          }
          case 96: {
            EnhancePotentialId = input.ReadInt32();
            break;
          }
          case 104: {
            EnhancePotentialLevel = input.ReadInt32();
            break;
          }
          case 114: {
            Desc = input.ReadString();
            break;
          }
          case 122: {
            Icon = input.ReadString();
            break;
          }
          case 130: {
            Param1 = input.ReadString();
            break;
          }
          case 138: {
            Param2 = input.ReadString();
            break;
          }
          case 146: {
            Param3 = input.ReadString();
            break;
          }
          case 154: {
            Param4 = input.ReadString();
            break;
          }
          case 162: {
            Param5 = input.ReadString();
            break;
          }
          case 170: {
            Param6 = input.ReadString();
            break;
          }
          case 178: {
            Param7 = input.ReadString();
            break;
          }
          case 186: {
            Param8 = input.ReadString();
            break;
          }
          case 194: {
            Param9 = input.ReadString();
            break;
          }
          case 202: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Talent : pb::IMessage<table_Talent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Talent> _parser = new pb::MessageParser<table_Talent>(() => new table_Talent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Talent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[455]; }
    }

    [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 table_Talent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Talent(table_Talent other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Talent Clone() {
      return new table_Talent(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Talent> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Talent.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Talent> list_ = new pbc::RepeatedField<global::Nova.Client.Talent>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Talent> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Talent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Talent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Talent other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TalentGroup : pb::IMessage<TalentGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TalentGroup> _parser = new pb::MessageParser<TalentGroup>(() => new TalentGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TalentGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[456]; }
    }

    [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 TalentGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TalentGroup(TalentGroup other) : this() {
      id_ = other.id_;
      charId_ = other.charId_;
      preGroup_ = other.preGroup_;
      nodeLimit_ = other.nodeLimit_;
      title_ = other.title_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TalentGroup Clone() {
      return new TalentGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 2;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "PreGroup" field.</summary>
    public const int PreGroupFieldNumber = 3;
    private int preGroup_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreGroup {
      get { return preGroup_; }
      set {
        preGroup_ = value;
      }
    }

    /// <summary>Field number for the "NodeLimit" field.</summary>
    public const int NodeLimitFieldNumber = 4;
    private int nodeLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NodeLimit {
      get { return nodeLimit_; }
      set {
        nodeLimit_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 5;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = 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 TalentGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TalentGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (CharId != other.CharId) return false;
      if (PreGroup != other.PreGroup) return false;
      if (NodeLimit != other.NodeLimit) return false;
      if (Title != other.Title) 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 (CharId != 0) hash ^= CharId.GetHashCode();
      if (PreGroup != 0) hash ^= PreGroup.GetHashCode();
      if (NodeLimit != 0) hash ^= NodeLimit.GetHashCode();
      if (Title.Length != 0) hash ^= Title.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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (PreGroup != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PreGroup);
      }
      if (NodeLimit != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NodeLimit);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Title);
      }
      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.WriteInt32(Id);
      }
      if (CharId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(CharId);
      }
      if (PreGroup != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(PreGroup);
      }
      if (NodeLimit != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(NodeLimit);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Title);
      }
      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.ComputeInt32Size(Id);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (PreGroup != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreGroup);
      }
      if (NodeLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NodeLimit);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TalentGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.PreGroup != 0) {
        PreGroup = other.PreGroup;
      }
      if (other.NodeLimit != 0) {
        NodeLimit = other.NodeLimit;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            PreGroup = input.ReadInt32();
            break;
          }
          case 32: {
            NodeLimit = input.ReadInt32();
            break;
          }
          case 42: {
            Title = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            CharId = input.ReadInt32();
            break;
          }
          case 24: {
            PreGroup = input.ReadInt32();
            break;
          }
          case 32: {
            NodeLimit = input.ReadInt32();
            break;
          }
          case 42: {
            Title = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TalentGroup : pb::IMessage<table_TalentGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TalentGroup> _parser = new pb::MessageParser<table_TalentGroup>(() => new table_TalentGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TalentGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[457]; }
    }

    [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 table_TalentGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TalentGroup(table_TalentGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TalentGroup Clone() {
      return new table_TalentGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TalentGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TalentGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TalentGroup> list_ = new pbc::RepeatedField<global::Nova.Client.TalentGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TalentGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TalentGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TalentGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TalentGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Title : pb::IMessage<Title>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Title> _parser = new pb::MessageParser<Title>(() => new Title());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Title> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[458]; }
    }

    [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 Title() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Title(Title other) : this() {
      id_ = other.id_;
      itemId_ = other.itemId_;
      titleType_ = other.titleType_;
      desc_ = other.desc_;
      sort_ = other.sort_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Title Clone() {
      return new Title(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "ItemId" field.</summary>
    public const int ItemIdFieldNumber = 2;
    private int itemId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ItemId {
      get { return itemId_; }
      set {
        itemId_ = value;
      }
    }

    /// <summary>Field number for the "TitleType" field.</summary>
    public const int TitleTypeFieldNumber = 3;
    private int titleType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TitleType {
      get { return titleType_; }
      set {
        titleType_ = value;
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Sort" field.</summary>
    public const int SortFieldNumber = 5;
    private int sort_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Sort {
      get { return sort_; }
      set {
        sort_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Title);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Title other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (ItemId != other.ItemId) return false;
      if (TitleType != other.TitleType) return false;
      if (Desc != other.Desc) return false;
      if (Sort != other.Sort) 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 (ItemId != 0) hash ^= ItemId.GetHashCode();
      if (TitleType != 0) hash ^= TitleType.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Sort != 0) hash ^= Sort.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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (TitleType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TitleType);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      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.WriteInt32(Id);
      }
      if (ItemId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(ItemId);
      }
      if (TitleType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TitleType);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (Sort != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Sort);
      }
      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.ComputeInt32Size(Id);
      }
      if (ItemId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ItemId);
      }
      if (TitleType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TitleType);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Sort != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Sort);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Title other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.ItemId != 0) {
        ItemId = other.ItemId;
      }
      if (other.TitleType != 0) {
        TitleType = other.TitleType;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Sort != 0) {
        Sort = other.Sort;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            TitleType = input.ReadInt32();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            ItemId = input.ReadInt32();
            break;
          }
          case 24: {
            TitleType = input.ReadInt32();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            Sort = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Title : pb::IMessage<table_Title>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Title> _parser = new pb::MessageParser<table_Title>(() => new table_Title());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Title> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[459]; }
    }

    [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 table_Title() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Title(table_Title other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Title Clone() {
      return new table_Title(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Title> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Title.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Title> list_ = new pbc::RepeatedField<global::Nova.Client.Title>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Title> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Title);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Title other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Title other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TopBar : pb::IMessage<TopBar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TopBar> _parser = new pb::MessageParser<TopBar>(() => new TopBar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TopBar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[460]; }
    }

    [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 TopBar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TopBar(TopBar other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      entryId_ = other.entryId_;
      hideBack_ = other.hideBack_;
      energy_ = other.energy_;
      coin_ = other.coin_;
      coinIds_ = other.coinIds_.Clone();
      hideCoinAdd_ = other.hideCoinAdd_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TopBar Clone() {
      return new TopBar(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EntryId" field.</summary>
    public const int EntryIdFieldNumber = 3;
    private int entryId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EntryId {
      get { return entryId_; }
      set {
        entryId_ = value;
      }
    }

    /// <summary>Field number for the "HideBack" field.</summary>
    public const int HideBackFieldNumber = 4;
    private bool hideBack_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HideBack {
      get { return hideBack_; }
      set {
        hideBack_ = value;
      }
    }

    /// <summary>Field number for the "Energy" field.</summary>
    public const int EnergyFieldNumber = 5;
    private bool energy_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Energy {
      get { return energy_; }
      set {
        energy_ = value;
      }
    }

    /// <summary>Field number for the "Coin" field.</summary>
    public const int CoinFieldNumber = 6;
    private bool coin_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Coin {
      get { return coin_; }
      set {
        coin_ = value;
      }
    }

    /// <summary>Field number for the "CoinIds" field.</summary>
    public const int CoinIdsFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_coinIds_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> coinIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> CoinIds {
      get { return coinIds_; }
    }

    /// <summary>Field number for the "HideCoinAdd" field.</summary>
    public const int HideCoinAddFieldNumber = 8;
    private bool hideCoinAdd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool HideCoinAdd {
      get { return hideCoinAdd_; }
      set {
        hideCoinAdd_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TopBar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TopBar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (EntryId != other.EntryId) return false;
      if (HideBack != other.HideBack) return false;
      if (Energy != other.Energy) return false;
      if (Coin != other.Coin) return false;
      if(!coinIds_.Equals(other.coinIds_)) return false;
      if (HideCoinAdd != other.HideCoinAdd) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (EntryId != 0) hash ^= EntryId.GetHashCode();
      if (HideBack != false) hash ^= HideBack.GetHashCode();
      if (Energy != false) hash ^= Energy.GetHashCode();
      if (Coin != false) hash ^= Coin.GetHashCode();
      hash ^= coinIds_.GetHashCode();
      if (HideCoinAdd != false) hash ^= HideCoinAdd.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (EntryId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(EntryId);
      }
      if (HideBack != false) {
        output.WriteRawTag(32);
        output.WriteBool(HideBack);
      }
      if (Energy != false) {
        output.WriteRawTag(40);
        output.WriteBool(Energy);
      }
      if (Coin != false) {
        output.WriteRawTag(48);
        output.WriteBool(Coin);
      }
      coinIds_.WriteTo(output, _repeated_coinIds_codec);
      if (HideCoinAdd != false) {
        output.WriteRawTag(64);
        output.WriteBool(HideCoinAdd);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (EntryId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(EntryId);
      }
      if (HideBack != false) {
        output.WriteRawTag(32);
        output.WriteBool(HideBack);
      }
      if (Energy != false) {
        output.WriteRawTag(40);
        output.WriteBool(Energy);
      }
      if (Coin != false) {
        output.WriteRawTag(48);
        output.WriteBool(Coin);
      }
      coinIds_.WriteTo(ref output, _repeated_coinIds_codec);
      if (HideCoinAdd != false) {
        output.WriteRawTag(64);
        output.WriteBool(HideCoinAdd);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (EntryId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EntryId);
      }
      if (HideBack != false) {
        size += 1 + 1;
      }
      if (Energy != false) {
        size += 1 + 1;
      }
      if (Coin != false) {
        size += 1 + 1;
      }
      size += coinIds_.CalculateSize(_repeated_coinIds_codec);
      if (HideCoinAdd != false) {
        size += 1 + 1;
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TopBar other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.EntryId != 0) {
        EntryId = other.EntryId;
      }
      if (other.HideBack != false) {
        HideBack = other.HideBack;
      }
      if (other.Energy != false) {
        Energy = other.Energy;
      }
      if (other.Coin != false) {
        Coin = other.Coin;
      }
      coinIds_.Add(other.coinIds_);
      if (other.HideCoinAdd != false) {
        HideCoinAdd = other.HideCoinAdd;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            EntryId = input.ReadInt32();
            break;
          }
          case 32: {
            HideBack = input.ReadBool();
            break;
          }
          case 40: {
            Energy = input.ReadBool();
            break;
          }
          case 48: {
            Coin = input.ReadBool();
            break;
          }
          case 58:
          case 56: {
            coinIds_.AddEntriesFrom(input, _repeated_coinIds_codec);
            break;
          }
          case 64: {
            HideCoinAdd = input.ReadBool();
            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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 24: {
            EntryId = input.ReadInt32();
            break;
          }
          case 32: {
            HideBack = input.ReadBool();
            break;
          }
          case 40: {
            Energy = input.ReadBool();
            break;
          }
          case 48: {
            Coin = input.ReadBool();
            break;
          }
          case 58:
          case 56: {
            coinIds_.AddEntriesFrom(ref input, _repeated_coinIds_codec);
            break;
          }
          case 64: {
            HideCoinAdd = input.ReadBool();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TopBar : pb::IMessage<table_TopBar>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TopBar> _parser = new pb::MessageParser<table_TopBar>(() => new table_TopBar());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TopBar> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[461]; }
    }

    [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 table_TopBar() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TopBar(table_TopBar other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TopBar Clone() {
      return new table_TopBar(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TopBar> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TopBar.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TopBar> list_ = new pbc::RepeatedField<global::Nova.Client.TopBar>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TopBar> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TopBar);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TopBar other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TopBar other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TourGuideQuest : pb::IMessage<TourGuideQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TourGuideQuest> _parser = new pb::MessageParser<TourGuideQuest>(() => new TourGuideQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TourGuideQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[462]; }
    }

    [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 TourGuideQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TourGuideQuest(TourGuideQuest other) : this() {
      id_ = other.id_;
      order_ = other.order_;
      title_ = other.title_;
      jumpTo_ = other.jumpTo_;
      reward1_ = other.reward1_;
      rewardQty1_ = other.rewardQty1_;
      reward2_ = other.reward2_;
      rewardQty2_ = other.rewardQty2_;
      reward3_ = other.reward3_;
      rewardQty3_ = other.rewardQty3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TourGuideQuest Clone() {
      return new TourGuideQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 2;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 3;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 4;
    private int jumpTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int JumpTo {
      get { return jumpTo_; }
      set {
        jumpTo_ = value;
      }
    }

    /// <summary>Field number for the "Reward1" field.</summary>
    public const int Reward1FieldNumber = 5;
    private int reward1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward1 {
      get { return reward1_; }
      set {
        reward1_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty1" field.</summary>
    public const int RewardQty1FieldNumber = 6;
    private int rewardQty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty1 {
      get { return rewardQty1_; }
      set {
        rewardQty1_ = value;
      }
    }

    /// <summary>Field number for the "Reward2" field.</summary>
    public const int Reward2FieldNumber = 7;
    private int reward2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward2 {
      get { return reward2_; }
      set {
        reward2_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty2" field.</summary>
    public const int RewardQty2FieldNumber = 8;
    private int rewardQty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty2 {
      get { return rewardQty2_; }
      set {
        rewardQty2_ = value;
      }
    }

    /// <summary>Field number for the "Reward3" field.</summary>
    public const int Reward3FieldNumber = 9;
    private int reward3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward3 {
      get { return reward3_; }
      set {
        reward3_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty3" field.</summary>
    public const int RewardQty3FieldNumber = 10;
    private int rewardQty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty3 {
      get { return rewardQty3_; }
      set {
        rewardQty3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TourGuideQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TourGuideQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Order != other.Order) return false;
      if (Title != other.Title) return false;
      if (JumpTo != other.JumpTo) return false;
      if (Reward1 != other.Reward1) return false;
      if (RewardQty1 != other.RewardQty1) return false;
      if (Reward2 != other.Reward2) return false;
      if (RewardQty2 != other.RewardQty2) return false;
      if (Reward3 != other.Reward3) return false;
      if (RewardQty3 != other.RewardQty3) 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 (Order != 0) hash ^= Order.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (Reward1 != 0) hash ^= Reward1.GetHashCode();
      if (RewardQty1 != 0) hash ^= RewardQty1.GetHashCode();
      if (Reward2 != 0) hash ^= Reward2.GetHashCode();
      if (RewardQty2 != 0) hash ^= RewardQty2.GetHashCode();
      if (Reward3 != 0) hash ^= Reward3.GetHashCode();
      if (RewardQty3 != 0) hash ^= RewardQty3.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.WriteInt32(Id);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Reward1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardQty3);
      }
      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.WriteInt32(Id);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Reward1 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardQty3);
      }
      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.ComputeInt32Size(Id);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (Reward1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward1);
      }
      if (RewardQty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty1);
      }
      if (Reward2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward2);
      }
      if (RewardQty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty2);
      }
      if (Reward3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward3);
      }
      if (RewardQty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TourGuideQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.Reward1 != 0) {
        Reward1 = other.Reward1;
      }
      if (other.RewardQty1 != 0) {
        RewardQty1 = other.RewardQty1;
      }
      if (other.Reward2 != 0) {
        Reward2 = other.Reward2;
      }
      if (other.RewardQty2 != 0) {
        RewardQty2 = other.RewardQty2;
      }
      if (other.Reward3 != 0) {
        Reward3 = other.Reward3;
      }
      if (other.RewardQty3 != 0) {
        RewardQty3 = other.RewardQty3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 32: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 40: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 48: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 56: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 64: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 72: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 80: {
            RewardQty3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 32: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 40: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 48: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 56: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 64: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 72: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 80: {
            RewardQty3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TourGuideQuest : pb::IMessage<table_TourGuideQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TourGuideQuest> _parser = new pb::MessageParser<table_TourGuideQuest>(() => new table_TourGuideQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TourGuideQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[463]; }
    }

    [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 table_TourGuideQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TourGuideQuest(table_TourGuideQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TourGuideQuest Clone() {
      return new table_TourGuideQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TourGuideQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TourGuideQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TourGuideQuest> list_ = new pbc::RepeatedField<global::Nova.Client.TourGuideQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TourGuideQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TourGuideQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TourGuideQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TourGuideQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TourGuideQuestGroup : pb::IMessage<TourGuideQuestGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TourGuideQuestGroup> _parser = new pb::MessageParser<TourGuideQuestGroup>(() => new TourGuideQuestGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TourGuideQuestGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[464]; }
    }

    [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 TourGuideQuestGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TourGuideQuestGroup(TourGuideQuestGroup other) : this() {
      id_ = other.id_;
      order_ = other.order_;
      reward1_ = other.reward1_;
      rewardQty1_ = other.rewardQty1_;
      reward2_ = other.reward2_;
      rewardQty2_ = other.rewardQty2_;
      reward3_ = other.reward3_;
      rewardQty3_ = other.rewardQty3_;
      reward4_ = other.reward4_;
      rewardQty4_ = other.rewardQty4_;
      reward5_ = other.reward5_;
      rewardQty5_ = other.rewardQty5_;
      reward6_ = other.reward6_;
      rewardQty6_ = other.rewardQty6_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TourGuideQuestGroup Clone() {
      return new TourGuideQuestGroup(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 2;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "Reward1" field.</summary>
    public const int Reward1FieldNumber = 3;
    private int reward1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward1 {
      get { return reward1_; }
      set {
        reward1_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty1" field.</summary>
    public const int RewardQty1FieldNumber = 4;
    private int rewardQty1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty1 {
      get { return rewardQty1_; }
      set {
        rewardQty1_ = value;
      }
    }

    /// <summary>Field number for the "Reward2" field.</summary>
    public const int Reward2FieldNumber = 5;
    private int reward2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward2 {
      get { return reward2_; }
      set {
        reward2_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty2" field.</summary>
    public const int RewardQty2FieldNumber = 6;
    private int rewardQty2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty2 {
      get { return rewardQty2_; }
      set {
        rewardQty2_ = value;
      }
    }

    /// <summary>Field number for the "Reward3" field.</summary>
    public const int Reward3FieldNumber = 7;
    private int reward3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward3 {
      get { return reward3_; }
      set {
        reward3_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty3" field.</summary>
    public const int RewardQty3FieldNumber = 8;
    private int rewardQty3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty3 {
      get { return rewardQty3_; }
      set {
        rewardQty3_ = value;
      }
    }

    /// <summary>Field number for the "Reward4" field.</summary>
    public const int Reward4FieldNumber = 9;
    private int reward4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward4 {
      get { return reward4_; }
      set {
        reward4_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty4" field.</summary>
    public const int RewardQty4FieldNumber = 10;
    private int rewardQty4_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty4 {
      get { return rewardQty4_; }
      set {
        rewardQty4_ = value;
      }
    }

    /// <summary>Field number for the "Reward5" field.</summary>
    public const int Reward5FieldNumber = 11;
    private int reward5_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward5 {
      get { return reward5_; }
      set {
        reward5_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty5" field.</summary>
    public const int RewardQty5FieldNumber = 12;
    private int rewardQty5_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty5 {
      get { return rewardQty5_; }
      set {
        rewardQty5_ = value;
      }
    }

    /// <summary>Field number for the "Reward6" field.</summary>
    public const int Reward6FieldNumber = 13;
    private int reward6_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Reward6 {
      get { return reward6_; }
      set {
        reward6_ = value;
      }
    }

    /// <summary>Field number for the "RewardQty6" field.</summary>
    public const int RewardQty6FieldNumber = 14;
    private int rewardQty6_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardQty6 {
      get { return rewardQty6_; }
      set {
        rewardQty6_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TourGuideQuestGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TourGuideQuestGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Order != other.Order) return false;
      if (Reward1 != other.Reward1) return false;
      if (RewardQty1 != other.RewardQty1) return false;
      if (Reward2 != other.Reward2) return false;
      if (RewardQty2 != other.RewardQty2) return false;
      if (Reward3 != other.Reward3) return false;
      if (RewardQty3 != other.RewardQty3) return false;
      if (Reward4 != other.Reward4) return false;
      if (RewardQty4 != other.RewardQty4) return false;
      if (Reward5 != other.Reward5) return false;
      if (RewardQty5 != other.RewardQty5) return false;
      if (Reward6 != other.Reward6) return false;
      if (RewardQty6 != other.RewardQty6) 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 (Order != 0) hash ^= Order.GetHashCode();
      if (Reward1 != 0) hash ^= Reward1.GetHashCode();
      if (RewardQty1 != 0) hash ^= RewardQty1.GetHashCode();
      if (Reward2 != 0) hash ^= Reward2.GetHashCode();
      if (RewardQty2 != 0) hash ^= RewardQty2.GetHashCode();
      if (Reward3 != 0) hash ^= Reward3.GetHashCode();
      if (RewardQty3 != 0) hash ^= RewardQty3.GetHashCode();
      if (Reward4 != 0) hash ^= Reward4.GetHashCode();
      if (RewardQty4 != 0) hash ^= RewardQty4.GetHashCode();
      if (Reward5 != 0) hash ^= Reward5.GetHashCode();
      if (RewardQty5 != 0) hash ^= RewardQty5.GetHashCode();
      if (Reward6 != 0) hash ^= Reward6.GetHashCode();
      if (RewardQty6 != 0) hash ^= RewardQty6.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.WriteInt32(Id);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (Reward1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RewardQty3);
      }
      if (Reward4 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Reward4);
      }
      if (RewardQty4 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardQty4);
      }
      if (Reward5 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Reward5);
      }
      if (RewardQty5 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RewardQty5);
      }
      if (Reward6 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Reward6);
      }
      if (RewardQty6 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(RewardQty6);
      }
      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.WriteInt32(Id);
      }
      if (Order != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Order);
      }
      if (Reward1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Reward1);
      }
      if (RewardQty1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RewardQty1);
      }
      if (Reward2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Reward2);
      }
      if (RewardQty2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(RewardQty2);
      }
      if (Reward3 != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Reward3);
      }
      if (RewardQty3 != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(RewardQty3);
      }
      if (Reward4 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Reward4);
      }
      if (RewardQty4 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(RewardQty4);
      }
      if (Reward5 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(Reward5);
      }
      if (RewardQty5 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(RewardQty5);
      }
      if (Reward6 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(Reward6);
      }
      if (RewardQty6 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(RewardQty6);
      }
      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.ComputeInt32Size(Id);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (Reward1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward1);
      }
      if (RewardQty1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty1);
      }
      if (Reward2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward2);
      }
      if (RewardQty2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty2);
      }
      if (Reward3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward3);
      }
      if (RewardQty3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty3);
      }
      if (Reward4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward4);
      }
      if (RewardQty4 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty4);
      }
      if (Reward5 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward5);
      }
      if (RewardQty5 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty5);
      }
      if (Reward6 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Reward6);
      }
      if (RewardQty6 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardQty6);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TourGuideQuestGroup other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.Reward1 != 0) {
        Reward1 = other.Reward1;
      }
      if (other.RewardQty1 != 0) {
        RewardQty1 = other.RewardQty1;
      }
      if (other.Reward2 != 0) {
        Reward2 = other.Reward2;
      }
      if (other.RewardQty2 != 0) {
        RewardQty2 = other.RewardQty2;
      }
      if (other.Reward3 != 0) {
        Reward3 = other.Reward3;
      }
      if (other.RewardQty3 != 0) {
        RewardQty3 = other.RewardQty3;
      }
      if (other.Reward4 != 0) {
        Reward4 = other.Reward4;
      }
      if (other.RewardQty4 != 0) {
        RewardQty4 = other.RewardQty4;
      }
      if (other.Reward5 != 0) {
        Reward5 = other.Reward5;
      }
      if (other.RewardQty5 != 0) {
        RewardQty5 = other.RewardQty5;
      }
      if (other.Reward6 != 0) {
        Reward6 = other.Reward6;
      }
      if (other.RewardQty6 != 0) {
        RewardQty6 = other.RewardQty6;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
          case 24: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 32: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 40: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 48: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 56: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 64: {
            RewardQty3 = input.ReadInt32();
            break;
          }
          case 72: {
            Reward4 = input.ReadInt32();
            break;
          }
          case 80: {
            RewardQty4 = input.ReadInt32();
            break;
          }
          case 88: {
            Reward5 = input.ReadInt32();
            break;
          }
          case 96: {
            RewardQty5 = input.ReadInt32();
            break;
          }
          case 104: {
            Reward6 = input.ReadInt32();
            break;
          }
          case 112: {
            RewardQty6 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Order = input.ReadInt32();
            break;
          }
          case 24: {
            Reward1 = input.ReadInt32();
            break;
          }
          case 32: {
            RewardQty1 = input.ReadInt32();
            break;
          }
          case 40: {
            Reward2 = input.ReadInt32();
            break;
          }
          case 48: {
            RewardQty2 = input.ReadInt32();
            break;
          }
          case 56: {
            Reward3 = input.ReadInt32();
            break;
          }
          case 64: {
            RewardQty3 = input.ReadInt32();
            break;
          }
          case 72: {
            Reward4 = input.ReadInt32();
            break;
          }
          case 80: {
            RewardQty4 = input.ReadInt32();
            break;
          }
          case 88: {
            Reward5 = input.ReadInt32();
            break;
          }
          case 96: {
            RewardQty5 = input.ReadInt32();
            break;
          }
          case 104: {
            Reward6 = input.ReadInt32();
            break;
          }
          case 112: {
            RewardQty6 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TourGuideQuestGroup : pb::IMessage<table_TourGuideQuestGroup>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TourGuideQuestGroup> _parser = new pb::MessageParser<table_TourGuideQuestGroup>(() => new table_TourGuideQuestGroup());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TourGuideQuestGroup> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[465]; }
    }

    [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 table_TourGuideQuestGroup() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TourGuideQuestGroup(table_TourGuideQuestGroup other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TourGuideQuestGroup Clone() {
      return new table_TourGuideQuestGroup(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TourGuideQuestGroup> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TourGuideQuestGroup.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TourGuideQuestGroup> list_ = new pbc::RepeatedField<global::Nova.Client.TourGuideQuestGroup>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TourGuideQuestGroup> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TourGuideQuestGroup);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TourGuideQuestGroup other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TourGuideQuestGroup other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Trap : pb::IMessage<Trap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Trap> _parser = new pb::MessageParser<Trap>(() => new Trap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Trap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[466]; }
    }

    [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 Trap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Trap(Trap other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      fCId_ = other.fCId_;
      model_ = other.model_;
      modelScale_ = other.modelScale_;
      buffFXScale_ = other.buffFXScale_;
      colliderScale_ = other.colliderScale_;
      attributeId_ = other.attributeId_;
      templete_ = other.templete_;
      buffIds_ = other.buffIds_.Clone();
      turnOffBuffIds_ = other.turnOffBuffIds_.Clone();
      turnOnBuffIds_ = other.turnOnBuffIds_.Clone();
      interruptSkill_ = other.interruptSkill_;
      subType_ = other.subType_;
      faction_ = other.faction_;
      filter_ = other.filter_.Clone();
      ignoreCollision_ = other.ignoreCollision_;
      activeEff_ = other.activeEff_;
      shapeType_ = other.shapeType_;
      width_ = other.width_;
      length_ = other.length_;
      radius_ = other.radius_;
      innerRadius_ = other.innerRadius_;
      angle_ = other.angle_;
      offset_ = other.offset_.Clone();
      rotation_ = other.rotation_;
      isMove_ = other.isMove_;
      isBlock_ = other.isBlock_;
      movAcc_ = other.movAcc_;
      rotSpd_ = other.rotSpd_;
      moveSpd_ = other.moveSpd_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Trap Clone() {
      return new Trap(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FCId" field.</summary>
    public const int FCIdFieldNumber = 3;
    private int fCId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FCId {
      get { return fCId_; }
      set {
        fCId_ = value;
      }
    }

    /// <summary>Field number for the "Model" field.</summary>
    public const int ModelFieldNumber = 4;
    private string model_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Model {
      get { return model_; }
      set {
        model_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ModelScale" field.</summary>
    public const int ModelScaleFieldNumber = 5;
    private int modelScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ModelScale {
      get { return modelScale_; }
      set {
        modelScale_ = value;
      }
    }

    /// <summary>Field number for the "BuffFXScale" field.</summary>
    public const int BuffFXScaleFieldNumber = 6;
    private int buffFXScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BuffFXScale {
      get { return buffFXScale_; }
      set {
        buffFXScale_ = value;
      }
    }

    /// <summary>Field number for the "ColliderScale" field.</summary>
    public const int ColliderScaleFieldNumber = 7;
    private int colliderScale_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ColliderScale {
      get { return colliderScale_; }
      set {
        colliderScale_ = value;
      }
    }

    /// <summary>Field number for the "AttributeId" field.</summary>
    public const int AttributeIdFieldNumber = 8;
    private string attributeId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AttributeId {
      get { return attributeId_; }
      set {
        attributeId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Templete" field.</summary>
    public const int TempleteFieldNumber = 9;
    private int templete_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Templete {
      get { return templete_; }
      set {
        templete_ = value;
      }
    }

    /// <summary>Field number for the "BuffIds" field.</summary>
    public const int BuffIdsFieldNumber = 10;
    private static readonly pb::FieldCodec<int> _repeated_buffIds_codec
        = pb::FieldCodec.ForInt32(82);
    private readonly pbc::RepeatedField<int> buffIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> BuffIds {
      get { return buffIds_; }
    }

    /// <summary>Field number for the "TurnOffBuffIds" field.</summary>
    public const int TurnOffBuffIdsFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_turnOffBuffIds_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> turnOffBuffIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TurnOffBuffIds {
      get { return turnOffBuffIds_; }
    }

    /// <summary>Field number for the "TurnOnBuffIds" field.</summary>
    public const int TurnOnBuffIdsFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_turnOnBuffIds_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> turnOnBuffIds_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TurnOnBuffIds {
      get { return turnOnBuffIds_; }
    }

    /// <summary>Field number for the "InterruptSkill" field.</summary>
    public const int InterruptSkillFieldNumber = 13;
    private bool interruptSkill_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool InterruptSkill {
      get { return interruptSkill_; }
      set {
        interruptSkill_ = value;
      }
    }

    /// <summary>Field number for the "SubType" field.</summary>
    public const int SubTypeFieldNumber = 14;
    private int subType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SubType {
      get { return subType_; }
      set {
        subType_ = value;
      }
    }

    /// <summary>Field number for the "Faction" field.</summary>
    public const int FactionFieldNumber = 15;
    private int faction_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Faction {
      get { return faction_; }
      set {
        faction_ = value;
      }
    }

    /// <summary>Field number for the "Filter" field.</summary>
    public const int FilterFieldNumber = 16;
    private static readonly pb::FieldCodec<int> _repeated_filter_codec
        = pb::FieldCodec.ForInt32(130);
    private readonly pbc::RepeatedField<int> filter_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Filter {
      get { return filter_; }
    }

    /// <summary>Field number for the "IgnoreCollision" field.</summary>
    public const int IgnoreCollisionFieldNumber = 17;
    private bool ignoreCollision_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IgnoreCollision {
      get { return ignoreCollision_; }
      set {
        ignoreCollision_ = value;
      }
    }

    /// <summary>Field number for the "ActiveEff" field.</summary>
    public const int ActiveEffFieldNumber = 18;
    private string activeEff_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ActiveEff {
      get { return activeEff_; }
      set {
        activeEff_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ShapeType" field.</summary>
    public const int ShapeTypeFieldNumber = 19;
    private int shapeType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ShapeType {
      get { return shapeType_; }
      set {
        shapeType_ = value;
      }
    }

    /// <summary>Field number for the "width" field.</summary>
    public const int WidthFieldNumber = 20;
    private float width_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Width {
      get { return width_; }
      set {
        width_ = value;
      }
    }

    /// <summary>Field number for the "length" field.</summary>
    public const int LengthFieldNumber = 21;
    private float length_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Length {
      get { return length_; }
      set {
        length_ = value;
      }
    }

    /// <summary>Field number for the "radius" field.</summary>
    public const int RadiusFieldNumber = 22;
    private float radius_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Radius {
      get { return radius_; }
      set {
        radius_ = value;
      }
    }

    /// <summary>Field number for the "innerRadius" field.</summary>
    public const int InnerRadiusFieldNumber = 23;
    private float innerRadius_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float InnerRadius {
      get { return innerRadius_; }
      set {
        innerRadius_ = value;
      }
    }

    /// <summary>Field number for the "angle" field.</summary>
    public const int AngleFieldNumber = 24;
    private float angle_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Angle {
      get { return angle_; }
      set {
        angle_ = value;
      }
    }

    /// <summary>Field number for the "offset" field.</summary>
    public const int OffsetFieldNumber = 25;
    private static readonly pb::FieldCodec<float> _repeated_offset_codec
        = pb::FieldCodec.ForFloat(202);
    private readonly pbc::RepeatedField<float> offset_ = new pbc::RepeatedField<float>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<float> Offset {
      get { return offset_; }
    }

    /// <summary>Field number for the "rotation" field.</summary>
    public const int RotationFieldNumber = 26;
    private float rotation_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public float Rotation {
      get { return rotation_; }
      set {
        rotation_ = value;
      }
    }

    /// <summary>Field number for the "isMove" field.</summary>
    public const int IsMoveFieldNumber = 27;
    private bool isMove_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsMove {
      get { return isMove_; }
      set {
        isMove_ = value;
      }
    }

    /// <summary>Field number for the "isBlock" field.</summary>
    public const int IsBlockFieldNumber = 28;
    private bool isBlock_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsBlock {
      get { return isBlock_; }
      set {
        isBlock_ = value;
      }
    }

    /// <summary>Field number for the "MovAcc" field.</summary>
    public const int MovAccFieldNumber = 29;
    private int movAcc_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MovAcc {
      get { return movAcc_; }
      set {
        movAcc_ = value;
      }
    }

    /// <summary>Field number for the "RotSpd" field.</summary>
    public const int RotSpdFieldNumber = 30;
    private int rotSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RotSpd {
      get { return rotSpd_; }
      set {
        rotSpd_ = value;
      }
    }

    /// <summary>Field number for the "MoveSpd" field.</summary>
    public const int MoveSpdFieldNumber = 31;
    private int moveSpd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MoveSpd {
      get { return moveSpd_; }
      set {
        moveSpd_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as Trap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Trap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (FCId != other.FCId) return false;
      if (Model != other.Model) return false;
      if (ModelScale != other.ModelScale) return false;
      if (BuffFXScale != other.BuffFXScale) return false;
      if (ColliderScale != other.ColliderScale) return false;
      if (AttributeId != other.AttributeId) return false;
      if (Templete != other.Templete) return false;
      if(!buffIds_.Equals(other.buffIds_)) return false;
      if(!turnOffBuffIds_.Equals(other.turnOffBuffIds_)) return false;
      if(!turnOnBuffIds_.Equals(other.turnOnBuffIds_)) return false;
      if (InterruptSkill != other.InterruptSkill) return false;
      if (SubType != other.SubType) return false;
      if (Faction != other.Faction) return false;
      if(!filter_.Equals(other.filter_)) return false;
      if (IgnoreCollision != other.IgnoreCollision) return false;
      if (ActiveEff != other.ActiveEff) return false;
      if (ShapeType != other.ShapeType) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Width, other.Width)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Length, other.Length)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Radius, other.Radius)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(InnerRadius, other.InnerRadius)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Angle, other.Angle)) return false;
      if(!offset_.Equals(other.offset_)) return false;
      if (!pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.Equals(Rotation, other.Rotation)) return false;
      if (IsMove != other.IsMove) return false;
      if (IsBlock != other.IsBlock) return false;
      if (MovAcc != other.MovAcc) return false;
      if (RotSpd != other.RotSpd) return false;
      if (MoveSpd != other.MoveSpd) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (FCId != 0) hash ^= FCId.GetHashCode();
      if (Model.Length != 0) hash ^= Model.GetHashCode();
      if (ModelScale != 0) hash ^= ModelScale.GetHashCode();
      if (BuffFXScale != 0) hash ^= BuffFXScale.GetHashCode();
      if (ColliderScale != 0) hash ^= ColliderScale.GetHashCode();
      if (AttributeId.Length != 0) hash ^= AttributeId.GetHashCode();
      if (Templete != 0) hash ^= Templete.GetHashCode();
      hash ^= buffIds_.GetHashCode();
      hash ^= turnOffBuffIds_.GetHashCode();
      hash ^= turnOnBuffIds_.GetHashCode();
      if (InterruptSkill != false) hash ^= InterruptSkill.GetHashCode();
      if (SubType != 0) hash ^= SubType.GetHashCode();
      if (Faction != 0) hash ^= Faction.GetHashCode();
      hash ^= filter_.GetHashCode();
      if (IgnoreCollision != false) hash ^= IgnoreCollision.GetHashCode();
      if (ActiveEff.Length != 0) hash ^= ActiveEff.GetHashCode();
      if (ShapeType != 0) hash ^= ShapeType.GetHashCode();
      if (Width != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Width);
      if (Length != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Length);
      if (Radius != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Radius);
      if (InnerRadius != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(InnerRadius);
      if (Angle != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Angle);
      hash ^= offset_.GetHashCode();
      if (Rotation != 0F) hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Rotation);
      if (IsMove != false) hash ^= IsMove.GetHashCode();
      if (IsBlock != false) hash ^= IsBlock.GetHashCode();
      if (MovAcc != 0) hash ^= MovAcc.GetHashCode();
      if (RotSpd != 0) hash ^= RotSpd.GetHashCode();
      if (MoveSpd != 0) hash ^= MoveSpd.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (FCId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FCId);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Model);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ModelScale);
      }
      if (BuffFXScale != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BuffFXScale);
      }
      if (ColliderScale != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ColliderScale);
      }
      if (AttributeId.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(AttributeId);
      }
      if (Templete != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Templete);
      }
      buffIds_.WriteTo(output, _repeated_buffIds_codec);
      turnOffBuffIds_.WriteTo(output, _repeated_turnOffBuffIds_codec);
      turnOnBuffIds_.WriteTo(output, _repeated_turnOnBuffIds_codec);
      if (InterruptSkill != false) {
        output.WriteRawTag(104);
        output.WriteBool(InterruptSkill);
      }
      if (SubType != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(SubType);
      }
      if (Faction != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Faction);
      }
      filter_.WriteTo(output, _repeated_filter_codec);
      if (IgnoreCollision != false) {
        output.WriteRawTag(136, 1);
        output.WriteBool(IgnoreCollision);
      }
      if (ActiveEff.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(ActiveEff);
      }
      if (ShapeType != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ShapeType);
      }
      if (Width != 0F) {
        output.WriteRawTag(165, 1);
        output.WriteFloat(Width);
      }
      if (Length != 0F) {
        output.WriteRawTag(173, 1);
        output.WriteFloat(Length);
      }
      if (Radius != 0F) {
        output.WriteRawTag(181, 1);
        output.WriteFloat(Radius);
      }
      if (InnerRadius != 0F) {
        output.WriteRawTag(189, 1);
        output.WriteFloat(InnerRadius);
      }
      if (Angle != 0F) {
        output.WriteRawTag(197, 1);
        output.WriteFloat(Angle);
      }
      offset_.WriteTo(output, _repeated_offset_codec);
      if (Rotation != 0F) {
        output.WriteRawTag(213, 1);
        output.WriteFloat(Rotation);
      }
      if (IsMove != false) {
        output.WriteRawTag(216, 1);
        output.WriteBool(IsMove);
      }
      if (IsBlock != false) {
        output.WriteRawTag(224, 1);
        output.WriteBool(IsBlock);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(MovAcc);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(RotSpd);
      }
      if (MoveSpd != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(MoveSpd);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (FCId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FCId);
      }
      if (Model.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Model);
      }
      if (ModelScale != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(ModelScale);
      }
      if (BuffFXScale != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(BuffFXScale);
      }
      if (ColliderScale != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(ColliderScale);
      }
      if (AttributeId.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(AttributeId);
      }
      if (Templete != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Templete);
      }
      buffIds_.WriteTo(ref output, _repeated_buffIds_codec);
      turnOffBuffIds_.WriteTo(ref output, _repeated_turnOffBuffIds_codec);
      turnOnBuffIds_.WriteTo(ref output, _repeated_turnOnBuffIds_codec);
      if (InterruptSkill != false) {
        output.WriteRawTag(104);
        output.WriteBool(InterruptSkill);
      }
      if (SubType != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(SubType);
      }
      if (Faction != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(Faction);
      }
      filter_.WriteTo(ref output, _repeated_filter_codec);
      if (IgnoreCollision != false) {
        output.WriteRawTag(136, 1);
        output.WriteBool(IgnoreCollision);
      }
      if (ActiveEff.Length != 0) {
        output.WriteRawTag(146, 1);
        output.WriteString(ActiveEff);
      }
      if (ShapeType != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(ShapeType);
      }
      if (Width != 0F) {
        output.WriteRawTag(165, 1);
        output.WriteFloat(Width);
      }
      if (Length != 0F) {
        output.WriteRawTag(173, 1);
        output.WriteFloat(Length);
      }
      if (Radius != 0F) {
        output.WriteRawTag(181, 1);
        output.WriteFloat(Radius);
      }
      if (InnerRadius != 0F) {
        output.WriteRawTag(189, 1);
        output.WriteFloat(InnerRadius);
      }
      if (Angle != 0F) {
        output.WriteRawTag(197, 1);
        output.WriteFloat(Angle);
      }
      offset_.WriteTo(ref output, _repeated_offset_codec);
      if (Rotation != 0F) {
        output.WriteRawTag(213, 1);
        output.WriteFloat(Rotation);
      }
      if (IsMove != false) {
        output.WriteRawTag(216, 1);
        output.WriteBool(IsMove);
      }
      if (IsBlock != false) {
        output.WriteRawTag(224, 1);
        output.WriteBool(IsBlock);
      }
      if (MovAcc != 0) {
        output.WriteRawTag(232, 1);
        output.WriteInt32(MovAcc);
      }
      if (RotSpd != 0) {
        output.WriteRawTag(240, 1);
        output.WriteInt32(RotSpd);
      }
      if (MoveSpd != 0) {
        output.WriteRawTag(248, 1);
        output.WriteInt32(MoveSpd);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (FCId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FCId);
      }
      if (Model.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Model);
      }
      if (ModelScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ModelScale);
      }
      if (BuffFXScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BuffFXScale);
      }
      if (ColliderScale != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ColliderScale);
      }
      if (AttributeId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AttributeId);
      }
      if (Templete != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Templete);
      }
      size += buffIds_.CalculateSize(_repeated_buffIds_codec);
      size += turnOffBuffIds_.CalculateSize(_repeated_turnOffBuffIds_codec);
      size += turnOnBuffIds_.CalculateSize(_repeated_turnOnBuffIds_codec);
      if (InterruptSkill != false) {
        size += 1 + 1;
      }
      if (SubType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SubType);
      }
      if (Faction != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Faction);
      }
      size += filter_.CalculateSize(_repeated_filter_codec);
      if (IgnoreCollision != false) {
        size += 2 + 1;
      }
      if (ActiveEff.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(ActiveEff);
      }
      if (ShapeType != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ShapeType);
      }
      if (Width != 0F) {
        size += 2 + 4;
      }
      if (Length != 0F) {
        size += 2 + 4;
      }
      if (Radius != 0F) {
        size += 2 + 4;
      }
      if (InnerRadius != 0F) {
        size += 2 + 4;
      }
      if (Angle != 0F) {
        size += 2 + 4;
      }
      size += offset_.CalculateSize(_repeated_offset_codec);
      if (Rotation != 0F) {
        size += 2 + 4;
      }
      if (IsMove != false) {
        size += 2 + 1;
      }
      if (IsBlock != false) {
        size += 2 + 1;
      }
      if (MovAcc != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MovAcc);
      }
      if (RotSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(RotSpd);
      }
      if (MoveSpd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(MoveSpd);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Trap other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.FCId != 0) {
        FCId = other.FCId;
      }
      if (other.Model.Length != 0) {
        Model = other.Model;
      }
      if (other.ModelScale != 0) {
        ModelScale = other.ModelScale;
      }
      if (other.BuffFXScale != 0) {
        BuffFXScale = other.BuffFXScale;
      }
      if (other.ColliderScale != 0) {
        ColliderScale = other.ColliderScale;
      }
      if (other.AttributeId.Length != 0) {
        AttributeId = other.AttributeId;
      }
      if (other.Templete != 0) {
        Templete = other.Templete;
      }
      buffIds_.Add(other.buffIds_);
      turnOffBuffIds_.Add(other.turnOffBuffIds_);
      turnOnBuffIds_.Add(other.turnOnBuffIds_);
      if (other.InterruptSkill != false) {
        InterruptSkill = other.InterruptSkill;
      }
      if (other.SubType != 0) {
        SubType = other.SubType;
      }
      if (other.Faction != 0) {
        Faction = other.Faction;
      }
      filter_.Add(other.filter_);
      if (other.IgnoreCollision != false) {
        IgnoreCollision = other.IgnoreCollision;
      }
      if (other.ActiveEff.Length != 0) {
        ActiveEff = other.ActiveEff;
      }
      if (other.ShapeType != 0) {
        ShapeType = other.ShapeType;
      }
      if (other.Width != 0F) {
        Width = other.Width;
      }
      if (other.Length != 0F) {
        Length = other.Length;
      }
      if (other.Radius != 0F) {
        Radius = other.Radius;
      }
      if (other.InnerRadius != 0F) {
        InnerRadius = other.InnerRadius;
      }
      if (other.Angle != 0F) {
        Angle = other.Angle;
      }
      offset_.Add(other.offset_);
      if (other.Rotation != 0F) {
        Rotation = other.Rotation;
      }
      if (other.IsMove != false) {
        IsMove = other.IsMove;
      }
      if (other.IsBlock != false) {
        IsBlock = other.IsBlock;
      }
      if (other.MovAcc != 0) {
        MovAcc = other.MovAcc;
      }
      if (other.RotSpd != 0) {
        RotSpd = other.RotSpd;
      }
      if (other.MoveSpd != 0) {
        MoveSpd = other.MoveSpd;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            FCId = input.ReadInt32();
            break;
          }
          case 34: {
            Model = input.ReadString();
            break;
          }
          case 40: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 48: {
            BuffFXScale = input.ReadInt32();
            break;
          }
          case 56: {
            ColliderScale = input.ReadInt32();
            break;
          }
          case 66: {
            AttributeId = input.ReadString();
            break;
          }
          case 72: {
            Templete = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            buffIds_.AddEntriesFrom(input, _repeated_buffIds_codec);
            break;
          }
          case 90:
          case 88: {
            turnOffBuffIds_.AddEntriesFrom(input, _repeated_turnOffBuffIds_codec);
            break;
          }
          case 98:
          case 96: {
            turnOnBuffIds_.AddEntriesFrom(input, _repeated_turnOnBuffIds_codec);
            break;
          }
          case 104: {
            InterruptSkill = input.ReadBool();
            break;
          }
          case 112: {
            SubType = input.ReadInt32();
            break;
          }
          case 120: {
            Faction = input.ReadInt32();
            break;
          }
          case 130:
          case 128: {
            filter_.AddEntriesFrom(input, _repeated_filter_codec);
            break;
          }
          case 136: {
            IgnoreCollision = input.ReadBool();
            break;
          }
          case 146: {
            ActiveEff = input.ReadString();
            break;
          }
          case 152: {
            ShapeType = input.ReadInt32();
            break;
          }
          case 165: {
            Width = input.ReadFloat();
            break;
          }
          case 173: {
            Length = input.ReadFloat();
            break;
          }
          case 181: {
            Radius = input.ReadFloat();
            break;
          }
          case 189: {
            InnerRadius = input.ReadFloat();
            break;
          }
          case 197: {
            Angle = input.ReadFloat();
            break;
          }
          case 202:
          case 205: {
            offset_.AddEntriesFrom(input, _repeated_offset_codec);
            break;
          }
          case 213: {
            Rotation = input.ReadFloat();
            break;
          }
          case 216: {
            IsMove = input.ReadBool();
            break;
          }
          case 224: {
            IsBlock = input.ReadBool();
            break;
          }
          case 232: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 240: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 248: {
            MoveSpd = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            FCId = input.ReadInt32();
            break;
          }
          case 34: {
            Model = input.ReadString();
            break;
          }
          case 40: {
            ModelScale = input.ReadInt32();
            break;
          }
          case 48: {
            BuffFXScale = input.ReadInt32();
            break;
          }
          case 56: {
            ColliderScale = input.ReadInt32();
            break;
          }
          case 66: {
            AttributeId = input.ReadString();
            break;
          }
          case 72: {
            Templete = input.ReadInt32();
            break;
          }
          case 82:
          case 80: {
            buffIds_.AddEntriesFrom(ref input, _repeated_buffIds_codec);
            break;
          }
          case 90:
          case 88: {
            turnOffBuffIds_.AddEntriesFrom(ref input, _repeated_turnOffBuffIds_codec);
            break;
          }
          case 98:
          case 96: {
            turnOnBuffIds_.AddEntriesFrom(ref input, _repeated_turnOnBuffIds_codec);
            break;
          }
          case 104: {
            InterruptSkill = input.ReadBool();
            break;
          }
          case 112: {
            SubType = input.ReadInt32();
            break;
          }
          case 120: {
            Faction = input.ReadInt32();
            break;
          }
          case 130:
          case 128: {
            filter_.AddEntriesFrom(ref input, _repeated_filter_codec);
            break;
          }
          case 136: {
            IgnoreCollision = input.ReadBool();
            break;
          }
          case 146: {
            ActiveEff = input.ReadString();
            break;
          }
          case 152: {
            ShapeType = input.ReadInt32();
            break;
          }
          case 165: {
            Width = input.ReadFloat();
            break;
          }
          case 173: {
            Length = input.ReadFloat();
            break;
          }
          case 181: {
            Radius = input.ReadFloat();
            break;
          }
          case 189: {
            InnerRadius = input.ReadFloat();
            break;
          }
          case 197: {
            Angle = input.ReadFloat();
            break;
          }
          case 202:
          case 205: {
            offset_.AddEntriesFrom(ref input, _repeated_offset_codec);
            break;
          }
          case 213: {
            Rotation = input.ReadFloat();
            break;
          }
          case 216: {
            IsMove = input.ReadBool();
            break;
          }
          case 224: {
            IsBlock = input.ReadBool();
            break;
          }
          case 232: {
            MovAcc = input.ReadInt32();
            break;
          }
          case 240: {
            RotSpd = input.ReadInt32();
            break;
          }
          case 248: {
            MoveSpd = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Trap : pb::IMessage<table_Trap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Trap> _parser = new pb::MessageParser<table_Trap>(() => new table_Trap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Trap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[467]; }
    }

    [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 table_Trap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Trap(table_Trap other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Trap Clone() {
      return new table_Trap(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Trap> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Trap.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Trap> list_ = new pbc::RepeatedField<global::Nova.Client.Trap>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Trap> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Trap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Trap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Trap other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TrapAttribute : pb::IMessage<TrapAttribute>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TrapAttribute> _parser = new pb::MessageParser<TrapAttribute>(() => new TrapAttribute());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TrapAttribute> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[468]; }
    }

    [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 TrapAttribute() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrapAttribute(TrapAttribute other) : this() {
      id_ = other.id_;
      trigger_ = other.trigger_;
      triggerIDs_ = other.triggerIDs_.Clone();
      filter_ = other.filter_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrapAttribute Clone() {
      return new TrapAttribute(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Trigger" field.</summary>
    public const int TriggerFieldNumber = 2;
    private bool trigger_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Trigger {
      get { return trigger_; }
      set {
        trigger_ = value;
      }
    }

    /// <summary>Field number for the "TriggerIDs" field.</summary>
    public const int TriggerIDsFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_triggerIDs_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> triggerIDs_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TriggerIDs {
      get { return triggerIDs_; }
    }

    /// <summary>Field number for the "Filter" field.</summary>
    public const int FilterFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_filter_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> filter_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Filter {
      get { return filter_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TrapAttribute);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TrapAttribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Trigger != other.Trigger) return false;
      if(!triggerIDs_.Equals(other.triggerIDs_)) return false;
      if(!filter_.Equals(other.filter_)) 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 (Trigger != false) hash ^= Trigger.GetHashCode();
      hash ^= triggerIDs_.GetHashCode();
      hash ^= filter_.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.WriteInt32(Id);
      }
      if (Trigger != false) {
        output.WriteRawTag(16);
        output.WriteBool(Trigger);
      }
      triggerIDs_.WriteTo(output, _repeated_triggerIDs_codec);
      filter_.WriteTo(output, _repeated_filter_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Trigger != false) {
        output.WriteRawTag(16);
        output.WriteBool(Trigger);
      }
      triggerIDs_.WriteTo(ref output, _repeated_triggerIDs_codec);
      filter_.WriteTo(ref output, _repeated_filter_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Trigger != false) {
        size += 1 + 1;
      }
      size += triggerIDs_.CalculateSize(_repeated_triggerIDs_codec);
      size += filter_.CalculateSize(_repeated_filter_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TrapAttribute other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Trigger != false) {
        Trigger = other.Trigger;
      }
      triggerIDs_.Add(other.triggerIDs_);
      filter_.Add(other.filter_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            Trigger = input.ReadBool();
            break;
          }
          case 26:
          case 24: {
            triggerIDs_.AddEntriesFrom(input, _repeated_triggerIDs_codec);
            break;
          }
          case 34:
          case 32: {
            filter_.AddEntriesFrom(input, _repeated_filter_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Trigger = input.ReadBool();
            break;
          }
          case 26:
          case 24: {
            triggerIDs_.AddEntriesFrom(ref input, _repeated_triggerIDs_codec);
            break;
          }
          case 34:
          case 32: {
            filter_.AddEntriesFrom(ref input, _repeated_filter_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TrapAttribute : pb::IMessage<table_TrapAttribute>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TrapAttribute> _parser = new pb::MessageParser<table_TrapAttribute>(() => new table_TrapAttribute());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TrapAttribute> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[469]; }
    }

    [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 table_TrapAttribute() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrapAttribute(table_TrapAttribute other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrapAttribute Clone() {
      return new table_TrapAttribute(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TrapAttribute> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TrapAttribute.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TrapAttribute> list_ = new pbc::RepeatedField<global::Nova.Client.TrapAttribute>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TrapAttribute> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TrapAttribute);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TrapAttribute other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TrapAttribute other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelBoss : pb::IMessage<TravelerDuelBoss>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelBoss> _parser = new pb::MessageParser<TravelerDuelBoss>(() => new TravelerDuelBoss());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelBoss> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[470]; }
    }

    [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 TravelerDuelBoss() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelBoss(TravelerDuelBoss other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      travelerDuelBossType_ = other.travelerDuelBossType_;
      episode_ = other.episode_;
      image_ = other.image_;
      cover_ = other.cover_;
      showReward_ = other.showReward_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelBoss Clone() {
      return new TravelerDuelBoss(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TravelerDuelBossType" field.</summary>
    public const int TravelerDuelBossTypeFieldNumber = 3;
    private int travelerDuelBossType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TravelerDuelBossType {
      get { return travelerDuelBossType_; }
      set {
        travelerDuelBossType_ = value;
      }
    }

    /// <summary>Field number for the "Episode" field.</summary>
    public const int EpisodeFieldNumber = 4;
    private string episode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode {
      get { return episode_; }
      set {
        episode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Image" field.</summary>
    public const int ImageFieldNumber = 5;
    private string image_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Image {
      get { return image_; }
      set {
        image_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Cover" field.</summary>
    public const int CoverFieldNumber = 6;
    private string cover_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Cover {
      get { return cover_; }
      set {
        cover_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ShowReward" field.</summary>
    public const int ShowRewardFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_showReward_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> showReward_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ShowReward {
      get { return showReward_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelBoss);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelBoss other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (TravelerDuelBossType != other.TravelerDuelBossType) return false;
      if (Episode != other.Episode) return false;
      if (Image != other.Image) return false;
      if (Cover != other.Cover) return false;
      if(!showReward_.Equals(other.showReward_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (TravelerDuelBossType != 0) hash ^= TravelerDuelBossType.GetHashCode();
      if (Episode.Length != 0) hash ^= Episode.GetHashCode();
      if (Image.Length != 0) hash ^= Image.GetHashCode();
      if (Cover.Length != 0) hash ^= Cover.GetHashCode();
      hash ^= showReward_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (TravelerDuelBossType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TravelerDuelBossType);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Image);
      }
      if (Cover.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Cover);
      }
      showReward_.WriteTo(output, _repeated_showReward_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (TravelerDuelBossType != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(TravelerDuelBossType);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Episode);
      }
      if (Image.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Image);
      }
      if (Cover.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Cover);
      }
      showReward_.WriteTo(ref output, _repeated_showReward_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (TravelerDuelBossType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(TravelerDuelBossType);
      }
      if (Episode.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Episode);
      }
      if (Image.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Image);
      }
      if (Cover.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Cover);
      }
      size += showReward_.CalculateSize(_repeated_showReward_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelBoss other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.TravelerDuelBossType != 0) {
        TravelerDuelBossType = other.TravelerDuelBossType;
      }
      if (other.Episode.Length != 0) {
        Episode = other.Episode;
      }
      if (other.Image.Length != 0) {
        Image = other.Image;
      }
      if (other.Cover.Length != 0) {
        Cover = other.Cover;
      }
      showReward_.Add(other.showReward_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            TravelerDuelBossType = input.ReadInt32();
            break;
          }
          case 34: {
            Episode = input.ReadString();
            break;
          }
          case 42: {
            Image = input.ReadString();
            break;
          }
          case 50: {
            Cover = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            showReward_.AddEntriesFrom(input, _repeated_showReward_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            TravelerDuelBossType = input.ReadInt32();
            break;
          }
          case 34: {
            Episode = input.ReadString();
            break;
          }
          case 42: {
            Image = input.ReadString();
            break;
          }
          case 50: {
            Cover = input.ReadString();
            break;
          }
          case 58:
          case 56: {
            showReward_.AddEntriesFrom(ref input, _repeated_showReward_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelBoss : pb::IMessage<table_TravelerDuelBoss>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelBoss> _parser = new pb::MessageParser<table_TravelerDuelBoss>(() => new table_TravelerDuelBoss());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelBoss> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[471]; }
    }

    [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 table_TravelerDuelBoss() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelBoss(table_TravelerDuelBoss other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelBoss Clone() {
      return new table_TravelerDuelBoss(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelBoss> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelBoss.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelBoss> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelBoss>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelBoss> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelBoss);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelBoss other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelBoss other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelBossLevel : pb::IMessage<TravelerDuelBossLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelBossLevel> _parser = new pb::MessageParser<TravelerDuelBossLevel>(() => new TravelerDuelBossLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelBossLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[472]; }
    }

    [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 TravelerDuelBossLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelBossLevel(TravelerDuelBossLevel other) : this() {
      id_ = other.id_;
      bossId_ = other.bossId_;
      difficulty_ = other.difficulty_;
      name_ = other.name_;
      desc_ = other.desc_;
      suggestedPower_ = other.suggestedPower_;
      recommendBuildRank_ = other.recommendBuildRank_;
      eET_ = other.eET_.Clone();
      timelimit_ = other.timelimit_;
      previewMonsterGroupId_ = other.previewMonsterGroupId_;
      floorId_ = other.floorId_;
      preLevelId_ = other.preLevelId_;
      preLevelStar_ = other.preLevelStar_;
      unlockWorldClass_ = other.unlockWorldClass_;
      unlockDuelLevel_ = other.unlockDuelLevel_;
      duelExp_ = other.duelExp_;
      baseAwardPreview_ = other.baseAwardPreview_;
      affinity_ = other.affinity_;
      icon_ = other.icon_;
      skillShow_ = other.skillShow_.Clone();
      cover_ = other.cover_;
      skinId_ = other.skinId_;
      extraDropPreview_ = other.extraDropPreview_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelBossLevel Clone() {
      return new TravelerDuelBossLevel(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "BossId" field.</summary>
    public const int BossIdFieldNumber = 2;
    private int bossId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BossId {
      get { return bossId_; }
      set {
        bossId_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 3;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 4;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 5;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SuggestedPower" field.</summary>
    public const int SuggestedPowerFieldNumber = 6;
    private int suggestedPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SuggestedPower {
      get { return suggestedPower_; }
      set {
        suggestedPower_ = value;
      }
    }

    /// <summary>Field number for the "RecommendBuildRank" field.</summary>
    public const int RecommendBuildRankFieldNumber = 7;
    private int recommendBuildRank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecommendBuildRank {
      get { return recommendBuildRank_; }
      set {
        recommendBuildRank_ = value;
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_eET_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> eET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EET {
      get { return eET_; }
    }

    /// <summary>Field number for the "Timelimit" field.</summary>
    public const int TimelimitFieldNumber = 9;
    private int timelimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Timelimit {
      get { return timelimit_; }
      set {
        timelimit_ = value;
      }
    }

    /// <summary>Field number for the "PreviewMonsterGroupId" field.</summary>
    public const int PreviewMonsterGroupIdFieldNumber = 10;
    private int previewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreviewMonsterGroupId {
      get { return previewMonsterGroupId_; }
      set {
        previewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 11;
    private int floorId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FloorId {
      get { return floorId_; }
      set {
        floorId_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelId" field.</summary>
    public const int PreLevelIdFieldNumber = 12;
    private int preLevelId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelId {
      get { return preLevelId_; }
      set {
        preLevelId_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelStar" field.</summary>
    public const int PreLevelStarFieldNumber = 13;
    private int preLevelStar_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelStar {
      get { return preLevelStar_; }
      set {
        preLevelStar_ = value;
      }
    }

    /// <summary>Field number for the "UnlockWorldClass" field.</summary>
    public const int UnlockWorldClassFieldNumber = 14;
    private int unlockWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockWorldClass {
      get { return unlockWorldClass_; }
      set {
        unlockWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "UnlockDuelLevel" field.</summary>
    public const int UnlockDuelLevelFieldNumber = 15;
    private int unlockDuelLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockDuelLevel {
      get { return unlockDuelLevel_; }
      set {
        unlockDuelLevel_ = value;
      }
    }

    /// <summary>Field number for the "DuelExp" field.</summary>
    public const int DuelExpFieldNumber = 16;
    private int duelExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DuelExp {
      get { return duelExp_; }
      set {
        duelExp_ = value;
      }
    }

    /// <summary>Field number for the "BaseAwardPreview" field.</summary>
    public const int BaseAwardPreviewFieldNumber = 17;
    private string baseAwardPreview_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BaseAwardPreview {
      get { return baseAwardPreview_; }
      set {
        baseAwardPreview_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Affinity" field.</summary>
    public const int AffinityFieldNumber = 18;
    private int affinity_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Affinity {
      get { return affinity_; }
      set {
        affinity_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 19;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SkillShow" field.</summary>
    public const int SkillShowFieldNumber = 20;
    private static readonly pb::FieldCodec<int> _repeated_skillShow_codec
        = pb::FieldCodec.ForInt32(162);
    private readonly pbc::RepeatedField<int> skillShow_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> SkillShow {
      get { return skillShow_; }
    }

    /// <summary>Field number for the "Cover" field.</summary>
    public const int CoverFieldNumber = 21;
    private string cover_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Cover {
      get { return cover_; }
      set {
        cover_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SkinId" field.</summary>
    public const int SkinIdFieldNumber = 22;
    private int skinId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkinId {
      get { return skinId_; }
      set {
        skinId_ = value;
      }
    }

    /// <summary>Field number for the "ExtraDropPreview" field.</summary>
    public const int ExtraDropPreviewFieldNumber = 23;
    private static readonly pb::FieldCodec<int> _repeated_extraDropPreview_codec
        = pb::FieldCodec.ForInt32(186);
    private readonly pbc::RepeatedField<int> extraDropPreview_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> ExtraDropPreview {
      get { return extraDropPreview_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelBossLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelBossLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (BossId != other.BossId) return false;
      if (Difficulty != other.Difficulty) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (SuggestedPower != other.SuggestedPower) return false;
      if (RecommendBuildRank != other.RecommendBuildRank) return false;
      if(!eET_.Equals(other.eET_)) return false;
      if (Timelimit != other.Timelimit) return false;
      if (PreviewMonsterGroupId != other.PreviewMonsterGroupId) return false;
      if (FloorId != other.FloorId) return false;
      if (PreLevelId != other.PreLevelId) return false;
      if (PreLevelStar != other.PreLevelStar) return false;
      if (UnlockWorldClass != other.UnlockWorldClass) return false;
      if (UnlockDuelLevel != other.UnlockDuelLevel) return false;
      if (DuelExp != other.DuelExp) return false;
      if (BaseAwardPreview != other.BaseAwardPreview) return false;
      if (Affinity != other.Affinity) return false;
      if (Icon != other.Icon) return false;
      if(!skillShow_.Equals(other.skillShow_)) return false;
      if (Cover != other.Cover) return false;
      if (SkinId != other.SkinId) return false;
      if(!extraDropPreview_.Equals(other.extraDropPreview_)) 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 (BossId != 0) hash ^= BossId.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (SuggestedPower != 0) hash ^= SuggestedPower.GetHashCode();
      if (RecommendBuildRank != 0) hash ^= RecommendBuildRank.GetHashCode();
      hash ^= eET_.GetHashCode();
      if (Timelimit != 0) hash ^= Timelimit.GetHashCode();
      if (PreviewMonsterGroupId != 0) hash ^= PreviewMonsterGroupId.GetHashCode();
      if (FloorId != 0) hash ^= FloorId.GetHashCode();
      if (PreLevelId != 0) hash ^= PreLevelId.GetHashCode();
      if (PreLevelStar != 0) hash ^= PreLevelStar.GetHashCode();
      if (UnlockWorldClass != 0) hash ^= UnlockWorldClass.GetHashCode();
      if (UnlockDuelLevel != 0) hash ^= UnlockDuelLevel.GetHashCode();
      if (DuelExp != 0) hash ^= DuelExp.GetHashCode();
      if (BaseAwardPreview.Length != 0) hash ^= BaseAwardPreview.GetHashCode();
      if (Affinity != 0) hash ^= Affinity.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      hash ^= skillShow_.GetHashCode();
      if (Cover.Length != 0) hash ^= Cover.GetHashCode();
      if (SkinId != 0) hash ^= SkinId.GetHashCode();
      hash ^= extraDropPreview_.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.WriteInt32(Id);
      }
      if (BossId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BossId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RecommendBuildRank);
      }
      eET_.WriteTo(output, _repeated_eET_codec);
      if (Timelimit != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Timelimit);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (FloorId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FloorId);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(PreLevelId);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(PreLevelStar);
      }
      if (UnlockWorldClass != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(UnlockWorldClass);
      }
      if (UnlockDuelLevel != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(UnlockDuelLevel);
      }
      if (DuelExp != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(DuelExp);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(BaseAwardPreview);
      }
      if (Affinity != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Affinity);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Icon);
      }
      skillShow_.WriteTo(output, _repeated_skillShow_codec);
      if (Cover.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Cover);
      }
      if (SkinId != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(SkinId);
      }
      extraDropPreview_.WriteTo(output, _repeated_extraDropPreview_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (BossId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BossId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RecommendBuildRank);
      }
      eET_.WriteTo(ref output, _repeated_eET_codec);
      if (Timelimit != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(Timelimit);
      }
      if (PreviewMonsterGroupId != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(PreviewMonsterGroupId);
      }
      if (FloorId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FloorId);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(PreLevelId);
      }
      if (PreLevelStar != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(PreLevelStar);
      }
      if (UnlockWorldClass != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(UnlockWorldClass);
      }
      if (UnlockDuelLevel != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(UnlockDuelLevel);
      }
      if (DuelExp != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(DuelExp);
      }
      if (BaseAwardPreview.Length != 0) {
        output.WriteRawTag(138, 1);
        output.WriteString(BaseAwardPreview);
      }
      if (Affinity != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Affinity);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(154, 1);
        output.WriteString(Icon);
      }
      skillShow_.WriteTo(ref output, _repeated_skillShow_codec);
      if (Cover.Length != 0) {
        output.WriteRawTag(170, 1);
        output.WriteString(Cover);
      }
      if (SkinId != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(SkinId);
      }
      extraDropPreview_.WriteTo(ref output, _repeated_extraDropPreview_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (BossId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BossId);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (SuggestedPower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SuggestedPower);
      }
      if (RecommendBuildRank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecommendBuildRank);
      }
      size += eET_.CalculateSize(_repeated_eET_codec);
      if (Timelimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Timelimit);
      }
      if (PreviewMonsterGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreviewMonsterGroupId);
      }
      if (FloorId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FloorId);
      }
      if (PreLevelId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelId);
      }
      if (PreLevelStar != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelStar);
      }
      if (UnlockWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockWorldClass);
      }
      if (UnlockDuelLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockDuelLevel);
      }
      if (DuelExp != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(DuelExp);
      }
      if (BaseAwardPreview.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(BaseAwardPreview);
      }
      if (Affinity != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Affinity);
      }
      if (Icon.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      size += skillShow_.CalculateSize(_repeated_skillShow_codec);
      if (Cover.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Cover);
      }
      if (SkinId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SkinId);
      }
      size += extraDropPreview_.CalculateSize(_repeated_extraDropPreview_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelBossLevel other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.BossId != 0) {
        BossId = other.BossId;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.SuggestedPower != 0) {
        SuggestedPower = other.SuggestedPower;
      }
      if (other.RecommendBuildRank != 0) {
        RecommendBuildRank = other.RecommendBuildRank;
      }
      eET_.Add(other.eET_);
      if (other.Timelimit != 0) {
        Timelimit = other.Timelimit;
      }
      if (other.PreviewMonsterGroupId != 0) {
        PreviewMonsterGroupId = other.PreviewMonsterGroupId;
      }
      if (other.FloorId != 0) {
        FloorId = other.FloorId;
      }
      if (other.PreLevelId != 0) {
        PreLevelId = other.PreLevelId;
      }
      if (other.PreLevelStar != 0) {
        PreLevelStar = other.PreLevelStar;
      }
      if (other.UnlockWorldClass != 0) {
        UnlockWorldClass = other.UnlockWorldClass;
      }
      if (other.UnlockDuelLevel != 0) {
        UnlockDuelLevel = other.UnlockDuelLevel;
      }
      if (other.DuelExp != 0) {
        DuelExp = other.DuelExp;
      }
      if (other.BaseAwardPreview.Length != 0) {
        BaseAwardPreview = other.BaseAwardPreview;
      }
      if (other.Affinity != 0) {
        Affinity = other.Affinity;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      skillShow_.Add(other.skillShow_);
      if (other.Cover.Length != 0) {
        Cover = other.Cover;
      }
      if (other.SkinId != 0) {
        SkinId = other.SkinId;
      }
      extraDropPreview_.Add(other.extraDropPreview_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            BossId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            eET_.AddEntriesFrom(input, _repeated_eET_codec);
            break;
          }
          case 72: {
            Timelimit = input.ReadInt32();
            break;
          }
          case 80: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 88: {
            FloorId = input.ReadInt32();
            break;
          }
          case 96: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 104: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 112: {
            UnlockWorldClass = input.ReadInt32();
            break;
          }
          case 120: {
            UnlockDuelLevel = input.ReadInt32();
            break;
          }
          case 128: {
            DuelExp = input.ReadInt32();
            break;
          }
          case 138: {
            BaseAwardPreview = input.ReadString();
            break;
          }
          case 144: {
            Affinity = input.ReadInt32();
            break;
          }
          case 154: {
            Icon = input.ReadString();
            break;
          }
          case 162:
          case 160: {
            skillShow_.AddEntriesFrom(input, _repeated_skillShow_codec);
            break;
          }
          case 170: {
            Cover = input.ReadString();
            break;
          }
          case 176: {
            SkinId = input.ReadInt32();
            break;
          }
          case 186:
          case 184: {
            extraDropPreview_.AddEntriesFrom(input, _repeated_extraDropPreview_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            BossId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 34: {
            Name = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            eET_.AddEntriesFrom(ref input, _repeated_eET_codec);
            break;
          }
          case 72: {
            Timelimit = input.ReadInt32();
            break;
          }
          case 80: {
            PreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 88: {
            FloorId = input.ReadInt32();
            break;
          }
          case 96: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 104: {
            PreLevelStar = input.ReadInt32();
            break;
          }
          case 112: {
            UnlockWorldClass = input.ReadInt32();
            break;
          }
          case 120: {
            UnlockDuelLevel = input.ReadInt32();
            break;
          }
          case 128: {
            DuelExp = input.ReadInt32();
            break;
          }
          case 138: {
            BaseAwardPreview = input.ReadString();
            break;
          }
          case 144: {
            Affinity = input.ReadInt32();
            break;
          }
          case 154: {
            Icon = input.ReadString();
            break;
          }
          case 162:
          case 160: {
            skillShow_.AddEntriesFrom(ref input, _repeated_skillShow_codec);
            break;
          }
          case 170: {
            Cover = input.ReadString();
            break;
          }
          case 176: {
            SkinId = input.ReadInt32();
            break;
          }
          case 186:
          case 184: {
            extraDropPreview_.AddEntriesFrom(ref input, _repeated_extraDropPreview_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelBossLevel : pb::IMessage<table_TravelerDuelBossLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelBossLevel> _parser = new pb::MessageParser<table_TravelerDuelBossLevel>(() => new table_TravelerDuelBossLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelBossLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[473]; }
    }

    [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 table_TravelerDuelBossLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelBossLevel(table_TravelerDuelBossLevel other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelBossLevel Clone() {
      return new table_TravelerDuelBossLevel(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelBossLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelBossLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelBossLevel> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelBossLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelBossLevel> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelBossLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelBossLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelBossLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelChallengeAffix : pb::IMessage<TravelerDuelChallengeAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelChallengeAffix> _parser = new pb::MessageParser<TravelerDuelChallengeAffix>(() => new TravelerDuelChallengeAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelChallengeAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[474]; }
    }

    [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 TravelerDuelChallengeAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeAffix(TravelerDuelChallengeAffix other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      difficulty_ = other.difficulty_;
      unlockWorldClass_ = other.unlockWorldClass_;
      unlockDuelLevel_ = other.unlockDuelLevel_;
      unlockDifficulty_ = other.unlockDifficulty_;
      name_ = other.name_;
      desc_ = other.desc_;
      icon_ = other.icon_;
      element_ = other.element_;
      addCamp_ = other.addCamp_.Clone();
      addClass_ = other.addClass_.Clone();
      skillId_ = other.skillId_;
      branchId_ = other.branchId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeAffix Clone() {
      return new TravelerDuelChallengeAffix(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Difficulty" field.</summary>
    public const int DifficultyFieldNumber = 3;
    private int difficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Difficulty {
      get { return difficulty_; }
      set {
        difficulty_ = value;
      }
    }

    /// <summary>Field number for the "UnlockWorldClass" field.</summary>
    public const int UnlockWorldClassFieldNumber = 4;
    private int unlockWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockWorldClass {
      get { return unlockWorldClass_; }
      set {
        unlockWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "UnlockDuelLevel" field.</summary>
    public const int UnlockDuelLevelFieldNumber = 5;
    private int unlockDuelLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockDuelLevel {
      get { return unlockDuelLevel_; }
      set {
        unlockDuelLevel_ = value;
      }
    }

    /// <summary>Field number for the "UnlockDifficulty" field.</summary>
    public const int UnlockDifficultyFieldNumber = 6;
    private int unlockDifficulty_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int UnlockDifficulty {
      get { return unlockDifficulty_; }
      set {
        unlockDifficulty_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 7;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 8;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 9;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Element" field.</summary>
    public const int ElementFieldNumber = 10;
    private int element_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Element {
      get { return element_; }
      set {
        element_ = value;
      }
    }

    /// <summary>Field number for the "AddCamp" field.</summary>
    public const int AddCampFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_addCamp_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> addCamp_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddCamp {
      get { return addCamp_; }
    }

    /// <summary>Field number for the "AddClass" field.</summary>
    public const int AddClassFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_addClass_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> addClass_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddClass {
      get { return addClass_; }
    }

    /// <summary>Field number for the "SkillId" field.</summary>
    public const int SkillIdFieldNumber = 13;
    private int skillId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SkillId {
      get { return skillId_; }
      set {
        skillId_ = value;
      }
    }

    /// <summary>Field number for the "BranchId" field.</summary>
    public const int BranchIdFieldNumber = 14;
    private int branchId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BranchId {
      get { return branchId_; }
      set {
        branchId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelChallengeAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelChallengeAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Difficulty != other.Difficulty) return false;
      if (UnlockWorldClass != other.UnlockWorldClass) return false;
      if (UnlockDuelLevel != other.UnlockDuelLevel) return false;
      if (UnlockDifficulty != other.UnlockDifficulty) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if (Icon != other.Icon) return false;
      if (Element != other.Element) return false;
      if(!addCamp_.Equals(other.addCamp_)) return false;
      if(!addClass_.Equals(other.addClass_)) return false;
      if (SkillId != other.SkillId) return false;
      if (BranchId != other.BranchId) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Difficulty != 0) hash ^= Difficulty.GetHashCode();
      if (UnlockWorldClass != 0) hash ^= UnlockWorldClass.GetHashCode();
      if (UnlockDuelLevel != 0) hash ^= UnlockDuelLevel.GetHashCode();
      if (UnlockDifficulty != 0) hash ^= UnlockDifficulty.GetHashCode();
      if (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Element != 0) hash ^= Element.GetHashCode();
      hash ^= addCamp_.GetHashCode();
      hash ^= addClass_.GetHashCode();
      if (SkillId != 0) hash ^= SkillId.GetHashCode();
      if (BranchId != 0) hash ^= BranchId.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (UnlockWorldClass != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockWorldClass);
      }
      if (UnlockDuelLevel != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(UnlockDuelLevel);
      }
      if (UnlockDifficulty != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(UnlockDifficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Icon);
      }
      if (Element != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Element);
      }
      addCamp_.WriteTo(output, _repeated_addCamp_codec);
      addClass_.WriteTo(output, _repeated_addClass_codec);
      if (SkillId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(SkillId);
      }
      if (BranchId != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(BranchId);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Difficulty != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Difficulty);
      }
      if (UnlockWorldClass != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(UnlockWorldClass);
      }
      if (UnlockDuelLevel != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(UnlockDuelLevel);
      }
      if (UnlockDifficulty != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(UnlockDifficulty);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Desc);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Icon);
      }
      if (Element != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Element);
      }
      addCamp_.WriteTo(ref output, _repeated_addCamp_codec);
      addClass_.WriteTo(ref output, _repeated_addClass_codec);
      if (SkillId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(SkillId);
      }
      if (BranchId != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(BranchId);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Difficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Difficulty);
      }
      if (UnlockWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockWorldClass);
      }
      if (UnlockDuelLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockDuelLevel);
      }
      if (UnlockDifficulty != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(UnlockDifficulty);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Element != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Element);
      }
      size += addCamp_.CalculateSize(_repeated_addCamp_codec);
      size += addClass_.CalculateSize(_repeated_addClass_codec);
      if (SkillId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SkillId);
      }
      if (BranchId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BranchId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelChallengeAffix other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Difficulty != 0) {
        Difficulty = other.Difficulty;
      }
      if (other.UnlockWorldClass != 0) {
        UnlockWorldClass = other.UnlockWorldClass;
      }
      if (other.UnlockDuelLevel != 0) {
        UnlockDuelLevel = other.UnlockDuelLevel;
      }
      if (other.UnlockDifficulty != 0) {
        UnlockDifficulty = other.UnlockDifficulty;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Element != 0) {
        Element = other.Element;
      }
      addCamp_.Add(other.addCamp_);
      addClass_.Add(other.addClass_);
      if (other.SkillId != 0) {
        SkillId = other.SkillId;
      }
      if (other.BranchId != 0) {
        BranchId = other.BranchId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockWorldClass = input.ReadInt32();
            break;
          }
          case 40: {
            UnlockDuelLevel = input.ReadInt32();
            break;
          }
          case 48: {
            UnlockDifficulty = input.ReadInt32();
            break;
          }
          case 58: {
            Name = input.ReadString();
            break;
          }
          case 66: {
            Desc = input.ReadString();
            break;
          }
          case 74: {
            Icon = input.ReadString();
            break;
          }
          case 80: {
            Element = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            addCamp_.AddEntriesFrom(input, _repeated_addCamp_codec);
            break;
          }
          case 98:
          case 96: {
            addClass_.AddEntriesFrom(input, _repeated_addClass_codec);
            break;
          }
          case 104: {
            SkillId = input.ReadInt32();
            break;
          }
          case 112: {
            BranchId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 24: {
            Difficulty = input.ReadInt32();
            break;
          }
          case 32: {
            UnlockWorldClass = input.ReadInt32();
            break;
          }
          case 40: {
            UnlockDuelLevel = input.ReadInt32();
            break;
          }
          case 48: {
            UnlockDifficulty = input.ReadInt32();
            break;
          }
          case 58: {
            Name = input.ReadString();
            break;
          }
          case 66: {
            Desc = input.ReadString();
            break;
          }
          case 74: {
            Icon = input.ReadString();
            break;
          }
          case 80: {
            Element = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            addCamp_.AddEntriesFrom(ref input, _repeated_addCamp_codec);
            break;
          }
          case 98:
          case 96: {
            addClass_.AddEntriesFrom(ref input, _repeated_addClass_codec);
            break;
          }
          case 104: {
            SkillId = input.ReadInt32();
            break;
          }
          case 112: {
            BranchId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelChallengeAffix : pb::IMessage<table_TravelerDuelChallengeAffix>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelChallengeAffix> _parser = new pb::MessageParser<table_TravelerDuelChallengeAffix>(() => new table_TravelerDuelChallengeAffix());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelChallengeAffix> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[475]; }
    }

    [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 table_TravelerDuelChallengeAffix() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeAffix(table_TravelerDuelChallengeAffix other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeAffix Clone() {
      return new table_TravelerDuelChallengeAffix(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelChallengeAffix> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelChallengeAffix.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeAffix> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeAffix>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeAffix> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelChallengeAffix);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelChallengeAffix other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelChallengeAffix other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelChallengeDifficulty : pb::IMessage<TravelerDuelChallengeDifficulty>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelChallengeDifficulty> _parser = new pb::MessageParser<TravelerDuelChallengeDifficulty>(() => new TravelerDuelChallengeDifficulty());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelChallengeDifficulty> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[476]; }
    }

    [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 TravelerDuelChallengeDifficulty() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeDifficulty(TravelerDuelChallengeDifficulty other) : this() {
      id_ = other.id_;
      attr_ = other.attr_;
      effectId_ = other.effectId_.Clone();
      recommendScore_ = other.recommendScore_;
      recommendBuildRank_ = other.recommendBuildRank_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeDifficulty Clone() {
      return new TravelerDuelChallengeDifficulty(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Attr" field.</summary>
    public const int AttrFieldNumber = 2;
    private int attr_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Attr {
      get { return attr_; }
      set {
        attr_ = value;
      }
    }

    /// <summary>Field number for the "EffectId" field.</summary>
    public const int EffectIdFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_effectId_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> effectId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EffectId {
      get { return effectId_; }
    }

    /// <summary>Field number for the "RecommendScore" field.</summary>
    public const int RecommendScoreFieldNumber = 4;
    private int recommendScore_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecommendScore {
      get { return recommendScore_; }
      set {
        recommendScore_ = value;
      }
    }

    /// <summary>Field number for the "RecommendBuildRank" field.</summary>
    public const int RecommendBuildRankFieldNumber = 5;
    private int recommendBuildRank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecommendBuildRank {
      get { return recommendBuildRank_; }
      set {
        recommendBuildRank_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelChallengeDifficulty);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelChallengeDifficulty other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Attr != other.Attr) return false;
      if(!effectId_.Equals(other.effectId_)) return false;
      if (RecommendScore != other.RecommendScore) return false;
      if (RecommendBuildRank != other.RecommendBuildRank) 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 (Attr != 0) hash ^= Attr.GetHashCode();
      hash ^= effectId_.GetHashCode();
      if (RecommendScore != 0) hash ^= RecommendScore.GetHashCode();
      if (RecommendBuildRank != 0) hash ^= RecommendBuildRank.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.WriteInt32(Id);
      }
      if (Attr != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Attr);
      }
      effectId_.WriteTo(output, _repeated_effectId_codec);
      if (RecommendScore != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RecommendScore);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RecommendBuildRank);
      }
      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.WriteInt32(Id);
      }
      if (Attr != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Attr);
      }
      effectId_.WriteTo(ref output, _repeated_effectId_codec);
      if (RecommendScore != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(RecommendScore);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(RecommendBuildRank);
      }
      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.ComputeInt32Size(Id);
      }
      if (Attr != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Attr);
      }
      size += effectId_.CalculateSize(_repeated_effectId_codec);
      if (RecommendScore != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecommendScore);
      }
      if (RecommendBuildRank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecommendBuildRank);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelChallengeDifficulty other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Attr != 0) {
        Attr = other.Attr;
      }
      effectId_.Add(other.effectId_);
      if (other.RecommendScore != 0) {
        RecommendScore = other.RecommendScore;
      }
      if (other.RecommendBuildRank != 0) {
        RecommendBuildRank = other.RecommendBuildRank;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Attr = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            effectId_.AddEntriesFrom(input, _repeated_effectId_codec);
            break;
          }
          case 32: {
            RecommendScore = input.ReadInt32();
            break;
          }
          case 40: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Attr = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            effectId_.AddEntriesFrom(ref input, _repeated_effectId_codec);
            break;
          }
          case 32: {
            RecommendScore = input.ReadInt32();
            break;
          }
          case 40: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelChallengeDifficulty : pb::IMessage<table_TravelerDuelChallengeDifficulty>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelChallengeDifficulty> _parser = new pb::MessageParser<table_TravelerDuelChallengeDifficulty>(() => new table_TravelerDuelChallengeDifficulty());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelChallengeDifficulty> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[477]; }
    }

    [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 table_TravelerDuelChallengeDifficulty() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeDifficulty(table_TravelerDuelChallengeDifficulty other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeDifficulty Clone() {
      return new table_TravelerDuelChallengeDifficulty(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelChallengeDifficulty> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelChallengeDifficulty.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeDifficulty> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeDifficulty>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeDifficulty> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelChallengeDifficulty);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelChallengeDifficulty other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelChallengeDifficulty other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelChallengeQuest : pb::IMessage<TravelerDuelChallengeQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelChallengeQuest> _parser = new pb::MessageParser<TravelerDuelChallengeQuest>(() => new TravelerDuelChallengeQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelChallengeQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[478]; }
    }

    [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 TravelerDuelChallengeQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeQuest(TravelerDuelChallengeQuest other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      title_ = other.title_;
      desc_ = other.desc_;
      jumpTo_ = other.jumpTo_;
      order_ = other.order_;
      acceptParams2_ = other.acceptParams2_;
      completeCond_ = other.completeCond_;
      completeCondParams_ = other.completeCondParams_;
      awardItemTid1_ = other.awardItemTid1_;
      awardItemNum1_ = other.awardItemNum1_;
      awardItemTid2_ = other.awardItemTid2_;
      awardItemNum2_ = other.awardItemNum2_;
      awardItemTid3_ = other.awardItemTid3_;
      awardItemNum3_ = other.awardItemNum3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeQuest Clone() {
      return new TravelerDuelChallengeQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 3;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 5;
    private int jumpTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int JumpTo {
      get { return jumpTo_; }
      set {
        jumpTo_ = value;
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 6;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "AcceptParams2" field.</summary>
    public const int AcceptParams2FieldNumber = 7;
    private string acceptParams2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AcceptParams2 {
      get { return acceptParams2_; }
      set {
        acceptParams2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CompleteCond" field.</summary>
    public const int CompleteCondFieldNumber = 8;
    private int completeCond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CompleteCond {
      get { return completeCond_; }
      set {
        completeCond_ = value;
      }
    }

    /// <summary>Field number for the "CompleteCondParams" field.</summary>
    public const int CompleteCondParamsFieldNumber = 9;
    private string completeCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CompleteCondParams {
      get { return completeCondParams_; }
      set {
        completeCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AwardItemTid1" field.</summary>
    public const int AwardItemTid1FieldNumber = 10;
    private int awardItemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid1 {
      get { return awardItemTid1_; }
      set {
        awardItemTid1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum1" field.</summary>
    public const int AwardItemNum1FieldNumber = 11;
    private int awardItemNum1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum1 {
      get { return awardItemNum1_; }
      set {
        awardItemNum1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid2" field.</summary>
    public const int AwardItemTid2FieldNumber = 12;
    private int awardItemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid2 {
      get { return awardItemTid2_; }
      set {
        awardItemTid2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum2" field.</summary>
    public const int AwardItemNum2FieldNumber = 13;
    private int awardItemNum2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum2 {
      get { return awardItemNum2_; }
      set {
        awardItemNum2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid3" field.</summary>
    public const int AwardItemTid3FieldNumber = 14;
    private int awardItemTid3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid3 {
      get { return awardItemTid3_; }
      set {
        awardItemTid3_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum3" field.</summary>
    public const int AwardItemNum3FieldNumber = 15;
    private int awardItemNum3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum3 {
      get { return awardItemNum3_; }
      set {
        awardItemNum3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelChallengeQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelChallengeQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (JumpTo != other.JumpTo) return false;
      if (Order != other.Order) return false;
      if (AcceptParams2 != other.AcceptParams2) return false;
      if (CompleteCond != other.CompleteCond) return false;
      if (CompleteCondParams != other.CompleteCondParams) return false;
      if (AwardItemTid1 != other.AwardItemTid1) return false;
      if (AwardItemNum1 != other.AwardItemNum1) return false;
      if (AwardItemTid2 != other.AwardItemTid2) return false;
      if (AwardItemNum2 != other.AwardItemNum2) return false;
      if (AwardItemTid3 != other.AwardItemTid3) return false;
      if (AwardItemNum3 != other.AwardItemNum3) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (AcceptParams2.Length != 0) hash ^= AcceptParams2.GetHashCode();
      if (CompleteCond != 0) hash ^= CompleteCond.GetHashCode();
      if (CompleteCondParams.Length != 0) hash ^= CompleteCondParams.GetHashCode();
      if (AwardItemTid1 != 0) hash ^= AwardItemTid1.GetHashCode();
      if (AwardItemNum1 != 0) hash ^= AwardItemNum1.GetHashCode();
      if (AwardItemTid2 != 0) hash ^= AwardItemTid2.GetHashCode();
      if (AwardItemNum2 != 0) hash ^= AwardItemNum2.GetHashCode();
      if (AwardItemTid3 != 0) hash ^= AwardItemTid3.GetHashCode();
      if (AwardItemNum3 != 0) hash ^= AwardItemNum3.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Order);
      }
      if (AcceptParams2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(AcceptParams2);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AwardItemNum3);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Order);
      }
      if (AcceptParams2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(AcceptParams2);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AwardItemNum3);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (AcceptParams2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AcceptParams2);
      }
      if (CompleteCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelChallengeQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.AcceptParams2.Length != 0) {
        AcceptParams2 = other.AcceptParams2;
      }
      if (other.CompleteCond != 0) {
        CompleteCond = other.CompleteCond;
      }
      if (other.CompleteCondParams.Length != 0) {
        CompleteCondParams = other.CompleteCondParams;
      }
      if (other.AwardItemTid1 != 0) {
        AwardItemTid1 = other.AwardItemTid1;
      }
      if (other.AwardItemNum1 != 0) {
        AwardItemNum1 = other.AwardItemNum1;
      }
      if (other.AwardItemTid2 != 0) {
        AwardItemTid2 = other.AwardItemTid2;
      }
      if (other.AwardItemNum2 != 0) {
        AwardItemNum2 = other.AwardItemNum2;
      }
      if (other.AwardItemTid3 != 0) {
        AwardItemTid3 = other.AwardItemTid3;
      }
      if (other.AwardItemNum3 != 0) {
        AwardItemNum3 = other.AwardItemNum3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 48: {
            Order = input.ReadInt32();
            break;
          }
          case 58: {
            AcceptParams2 = input.ReadString();
            break;
          }
          case 64: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 74: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 80: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 88: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 96: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 104: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardItemTid3 = input.ReadInt32();
            break;
          }
          case 120: {
            AwardItemNum3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 48: {
            Order = input.ReadInt32();
            break;
          }
          case 58: {
            AcceptParams2 = input.ReadString();
            break;
          }
          case 64: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 74: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 80: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 88: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 96: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 104: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardItemTid3 = input.ReadInt32();
            break;
          }
          case 120: {
            AwardItemNum3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelChallengeQuest : pb::IMessage<table_TravelerDuelChallengeQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelChallengeQuest> _parser = new pb::MessageParser<table_TravelerDuelChallengeQuest>(() => new table_TravelerDuelChallengeQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelChallengeQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[479]; }
    }

    [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 table_TravelerDuelChallengeQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeQuest(table_TravelerDuelChallengeQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeQuest Clone() {
      return new table_TravelerDuelChallengeQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelChallengeQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelChallengeQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeQuest> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelChallengeQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelChallengeQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelChallengeQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelChallengeRankReward : pb::IMessage<TravelerDuelChallengeRankReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelChallengeRankReward> _parser = new pb::MessageParser<TravelerDuelChallengeRankReward>(() => new TravelerDuelChallengeRankReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelChallengeRankReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[480]; }
    }

    [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 TravelerDuelChallengeRankReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeRankReward(TravelerDuelChallengeRankReward other) : this() {
      id_ = other.id_;
      rankLower_ = other.rankLower_;
      awardItemTid1_ = other.awardItemTid1_;
      awardItemNum1_ = other.awardItemNum1_;
      awardItemTid2_ = other.awardItemTid2_;
      awardItemNum2_ = other.awardItemNum2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeRankReward Clone() {
      return new TravelerDuelChallengeRankReward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RankLower" field.</summary>
    public const int RankLowerFieldNumber = 2;
    private int rankLower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RankLower {
      get { return rankLower_; }
      set {
        rankLower_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid1" field.</summary>
    public const int AwardItemTid1FieldNumber = 3;
    private int awardItemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid1 {
      get { return awardItemTid1_; }
      set {
        awardItemTid1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum1" field.</summary>
    public const int AwardItemNum1FieldNumber = 4;
    private int awardItemNum1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum1 {
      get { return awardItemNum1_; }
      set {
        awardItemNum1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid2" field.</summary>
    public const int AwardItemTid2FieldNumber = 5;
    private int awardItemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid2 {
      get { return awardItemTid2_; }
      set {
        awardItemTid2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum2" field.</summary>
    public const int AwardItemNum2FieldNumber = 6;
    private int awardItemNum2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum2 {
      get { return awardItemNum2_; }
      set {
        awardItemNum2_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelChallengeRankReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelChallengeRankReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RankLower != other.RankLower) return false;
      if (AwardItemTid1 != other.AwardItemTid1) return false;
      if (AwardItemNum1 != other.AwardItemNum1) return false;
      if (AwardItemTid2 != other.AwardItemTid2) return false;
      if (AwardItemNum2 != other.AwardItemNum2) 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 (RankLower != 0) hash ^= RankLower.GetHashCode();
      if (AwardItemTid1 != 0) hash ^= AwardItemTid1.GetHashCode();
      if (AwardItemNum1 != 0) hash ^= AwardItemNum1.GetHashCode();
      if (AwardItemTid2 != 0) hash ^= AwardItemTid2.GetHashCode();
      if (AwardItemNum2 != 0) hash ^= AwardItemNum2.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.WriteInt32(Id);
      }
      if (RankLower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RankLower);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AwardItemNum2);
      }
      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.WriteInt32(Id);
      }
      if (RankLower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RankLower);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AwardItemNum2);
      }
      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.ComputeInt32Size(Id);
      }
      if (RankLower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RankLower);
      }
      if (AwardItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelChallengeRankReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RankLower != 0) {
        RankLower = other.RankLower;
      }
      if (other.AwardItemTid1 != 0) {
        AwardItemTid1 = other.AwardItemTid1;
      }
      if (other.AwardItemNum1 != 0) {
        AwardItemNum1 = other.AwardItemNum1;
      }
      if (other.AwardItemTid2 != 0) {
        AwardItemTid2 = other.AwardItemTid2;
      }
      if (other.AwardItemNum2 != 0) {
        AwardItemNum2 = other.AwardItemNum2;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            RankLower = input.ReadInt32();
            break;
          }
          case 24: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RankLower = input.ReadInt32();
            break;
          }
          case 24: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelChallengeRankReward : pb::IMessage<table_TravelerDuelChallengeRankReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelChallengeRankReward> _parser = new pb::MessageParser<table_TravelerDuelChallengeRankReward>(() => new table_TravelerDuelChallengeRankReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelChallengeRankReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[481]; }
    }

    [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 table_TravelerDuelChallengeRankReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeRankReward(table_TravelerDuelChallengeRankReward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeRankReward Clone() {
      return new table_TravelerDuelChallengeRankReward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelChallengeRankReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelChallengeRankReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeRankReward> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeRankReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeRankReward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelChallengeRankReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelChallengeRankReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelChallengeRankReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelChallengeSeason : pb::IMessage<TravelerDuelChallengeSeason>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelChallengeSeason> _parser = new pb::MessageParser<TravelerDuelChallengeSeason>(() => new TravelerDuelChallengeSeason());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelChallengeSeason> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[482]; }
    }

    [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 TravelerDuelChallengeSeason() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeSeason(TravelerDuelChallengeSeason other) : this() {
      id_ = other.id_;
      bossId_ = other.bossId_;
      affixGroupIds_ = other.affixGroupIds_;
      questGroupId_ = other.questGroupId_;
      backGroundSource_ = other.backGroundSource_;
      openTime_ = other.openTime_;
      endTime_ = other.endTime_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelChallengeSeason Clone() {
      return new TravelerDuelChallengeSeason(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "BossId" field.</summary>
    public const int BossIdFieldNumber = 2;
    private int bossId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BossId {
      get { return bossId_; }
      set {
        bossId_ = value;
      }
    }

    /// <summary>Field number for the "AffixGroupIds" field.</summary>
    public const int AffixGroupIdsFieldNumber = 3;
    private string affixGroupIds_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AffixGroupIds {
      get { return affixGroupIds_; }
      set {
        affixGroupIds_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "QuestGroupId" field.</summary>
    public const int QuestGroupIdFieldNumber = 4;
    private int questGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int QuestGroupId {
      get { return questGroupId_; }
      set {
        questGroupId_ = value;
      }
    }

    /// <summary>Field number for the "BackGroundSource" field.</summary>
    public const int BackGroundSourceFieldNumber = 5;
    private string backGroundSource_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BackGroundSource {
      get { return backGroundSource_; }
      set {
        backGroundSource_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "OpenTime" field.</summary>
    public const int OpenTimeFieldNumber = 6;
    private string openTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OpenTime {
      get { return openTime_; }
      set {
        openTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EndTime" field.</summary>
    public const int EndTimeFieldNumber = 7;
    private string endTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EndTime {
      get { return endTime_; }
      set {
        endTime_ = 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 TravelerDuelChallengeSeason);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelChallengeSeason other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (BossId != other.BossId) return false;
      if (AffixGroupIds != other.AffixGroupIds) return false;
      if (QuestGroupId != other.QuestGroupId) return false;
      if (BackGroundSource != other.BackGroundSource) return false;
      if (OpenTime != other.OpenTime) return false;
      if (EndTime != other.EndTime) 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 (BossId != 0) hash ^= BossId.GetHashCode();
      if (AffixGroupIds.Length != 0) hash ^= AffixGroupIds.GetHashCode();
      if (QuestGroupId != 0) hash ^= QuestGroupId.GetHashCode();
      if (BackGroundSource.Length != 0) hash ^= BackGroundSource.GetHashCode();
      if (OpenTime.Length != 0) hash ^= OpenTime.GetHashCode();
      if (EndTime.Length != 0) hash ^= EndTime.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.WriteInt32(Id);
      }
      if (BossId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BossId);
      }
      if (AffixGroupIds.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AffixGroupIds);
      }
      if (QuestGroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(QuestGroupId);
      }
      if (BackGroundSource.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BackGroundSource);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(OpenTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(EndTime);
      }
      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.WriteInt32(Id);
      }
      if (BossId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(BossId);
      }
      if (AffixGroupIds.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(AffixGroupIds);
      }
      if (QuestGroupId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(QuestGroupId);
      }
      if (BackGroundSource.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BackGroundSource);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(OpenTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(EndTime);
      }
      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.ComputeInt32Size(Id);
      }
      if (BossId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(BossId);
      }
      if (AffixGroupIds.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AffixGroupIds);
      }
      if (QuestGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(QuestGroupId);
      }
      if (BackGroundSource.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BackGroundSource);
      }
      if (OpenTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OpenTime);
      }
      if (EndTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndTime);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelChallengeSeason other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.BossId != 0) {
        BossId = other.BossId;
      }
      if (other.AffixGroupIds.Length != 0) {
        AffixGroupIds = other.AffixGroupIds;
      }
      if (other.QuestGroupId != 0) {
        QuestGroupId = other.QuestGroupId;
      }
      if (other.BackGroundSource.Length != 0) {
        BackGroundSource = other.BackGroundSource;
      }
      if (other.OpenTime.Length != 0) {
        OpenTime = other.OpenTime;
      }
      if (other.EndTime.Length != 0) {
        EndTime = other.EndTime;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            BossId = input.ReadInt32();
            break;
          }
          case 26: {
            AffixGroupIds = input.ReadString();
            break;
          }
          case 32: {
            QuestGroupId = input.ReadInt32();
            break;
          }
          case 42: {
            BackGroundSource = input.ReadString();
            break;
          }
          case 50: {
            OpenTime = input.ReadString();
            break;
          }
          case 58: {
            EndTime = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            BossId = input.ReadInt32();
            break;
          }
          case 26: {
            AffixGroupIds = input.ReadString();
            break;
          }
          case 32: {
            QuestGroupId = input.ReadInt32();
            break;
          }
          case 42: {
            BackGroundSource = input.ReadString();
            break;
          }
          case 50: {
            OpenTime = input.ReadString();
            break;
          }
          case 58: {
            EndTime = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelChallengeSeason : pb::IMessage<table_TravelerDuelChallengeSeason>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelChallengeSeason> _parser = new pb::MessageParser<table_TravelerDuelChallengeSeason>(() => new table_TravelerDuelChallengeSeason());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelChallengeSeason> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[483]; }
    }

    [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 table_TravelerDuelChallengeSeason() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeSeason(table_TravelerDuelChallengeSeason other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelChallengeSeason Clone() {
      return new table_TravelerDuelChallengeSeason(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelChallengeSeason> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelChallengeSeason.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeSeason> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeSeason>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelChallengeSeason> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelChallengeSeason);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelChallengeSeason other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelChallengeSeason other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelFloor : pb::IMessage<TravelerDuelFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelFloor> _parser = new pb::MessageParser<TravelerDuelFloor>(() => new TravelerDuelFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[484]; }
    }

    [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 TravelerDuelFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelFloor(TravelerDuelFloor other) : this() {
      id_ = other.id_;
      sceneName_ = other.sceneName_;
      configPrefabName_ = other.configPrefabName_;
      theme_ = other.theme_;
      bGM_ = other.bGM_;
      leaveTriggerEvent_ = other.leaveTriggerEvent_;
      monsterLv_ = other.monsterLv_;
      introCutscene_ = other.introCutscene_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelFloor Clone() {
      return new TravelerDuelFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 2;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfigPrefabName" field.</summary>
    public const int ConfigPrefabNameFieldNumber = 3;
    private string configPrefabName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigPrefabName {
      get { return configPrefabName_; }
      set {
        configPrefabName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 5;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LeaveTriggerEvent" field.</summary>
    public const int LeaveTriggerEventFieldNumber = 6;
    private string leaveTriggerEvent_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LeaveTriggerEvent {
      get { return leaveTriggerEvent_; }
      set {
        leaveTriggerEvent_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "MonsterLv" field.</summary>
    public const int MonsterLvFieldNumber = 7;
    private int monsterLv_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLv {
      get { return monsterLv_; }
      set {
        monsterLv_ = value;
      }
    }

    /// <summary>Field number for the "IntroCutscene" field.</summary>
    public const int IntroCutsceneFieldNumber = 8;
    private string introCutscene_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string IntroCutscene {
      get { return introCutscene_; }
      set {
        introCutscene_ = 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 TravelerDuelFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneName != other.SceneName) return false;
      if (ConfigPrefabName != other.ConfigPrefabName) return false;
      if (Theme != other.Theme) return false;
      if (BGM != other.BGM) return false;
      if (LeaveTriggerEvent != other.LeaveTriggerEvent) return false;
      if (MonsterLv != other.MonsterLv) return false;
      if (IntroCutscene != other.IntroCutscene) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (ConfigPrefabName.Length != 0) hash ^= ConfigPrefabName.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.GetHashCode();
      if (LeaveTriggerEvent.Length != 0) hash ^= LeaveTriggerEvent.GetHashCode();
      if (MonsterLv != 0) hash ^= MonsterLv.GetHashCode();
      if (IntroCutscene.Length != 0) hash ^= IntroCutscene.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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      if (IntroCutscene.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(IntroCutscene);
      }
      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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(MonsterLv);
      }
      if (IntroCutscene.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(IntroCutscene);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigPrefabName);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LeaveTriggerEvent);
      }
      if (MonsterLv != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLv);
      }
      if (IntroCutscene.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(IntroCutscene);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.ConfigPrefabName.Length != 0) {
        ConfigPrefabName = other.ConfigPrefabName;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      if (other.LeaveTriggerEvent.Length != 0) {
        LeaveTriggerEvent = other.LeaveTriggerEvent;
      }
      if (other.MonsterLv != 0) {
        MonsterLv = other.MonsterLv;
      }
      if (other.IntroCutscene.Length != 0) {
        IntroCutscene = other.IntroCutscene;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 66: {
            IntroCutscene = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
          case 56: {
            MonsterLv = input.ReadInt32();
            break;
          }
          case 66: {
            IntroCutscene = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelFloor : pb::IMessage<table_TravelerDuelFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelFloor> _parser = new pb::MessageParser<table_TravelerDuelFloor>(() => new table_TravelerDuelFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[485]; }
    }

    [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 table_TravelerDuelFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelFloor(table_TravelerDuelFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelFloor Clone() {
      return new table_TravelerDuelFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelFloor> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelLevel : pb::IMessage<TravelerDuelLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelLevel> _parser = new pb::MessageParser<TravelerDuelLevel>(() => new TravelerDuelLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[486]; }
    }

    [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 TravelerDuelLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelLevel(TravelerDuelLevel other) : this() {
      id_ = other.id_;
      levelUpExp_ = other.levelUpExp_;
      coinAdditionProb_ = other.coinAdditionProb_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelLevel Clone() {
      return new TravelerDuelLevel(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "LevelUpExp" field.</summary>
    public const int LevelUpExpFieldNumber = 2;
    private int levelUpExp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelUpExp {
      get { return levelUpExp_; }
      set {
        levelUpExp_ = value;
      }
    }

    /// <summary>Field number for the "CoinAdditionProb" field.</summary>
    public const int CoinAdditionProbFieldNumber = 3;
    private int coinAdditionProb_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CoinAdditionProb {
      get { return coinAdditionProb_; }
      set {
        coinAdditionProb_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (LevelUpExp != other.LevelUpExp) return false;
      if (CoinAdditionProb != other.CoinAdditionProb) 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 (LevelUpExp != 0) hash ^= LevelUpExp.GetHashCode();
      if (CoinAdditionProb != 0) hash ^= CoinAdditionProb.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.WriteInt32(Id);
      }
      if (LevelUpExp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelUpExp);
      }
      if (CoinAdditionProb != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CoinAdditionProb);
      }
      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.WriteInt32(Id);
      }
      if (LevelUpExp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(LevelUpExp);
      }
      if (CoinAdditionProb != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CoinAdditionProb);
      }
      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.ComputeInt32Size(Id);
      }
      if (LevelUpExp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelUpExp);
      }
      if (CoinAdditionProb != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CoinAdditionProb);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelLevel other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.LevelUpExp != 0) {
        LevelUpExp = other.LevelUpExp;
      }
      if (other.CoinAdditionProb != 0) {
        CoinAdditionProb = other.CoinAdditionProb;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            LevelUpExp = input.ReadInt32();
            break;
          }
          case 24: {
            CoinAdditionProb = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            LevelUpExp = input.ReadInt32();
            break;
          }
          case 24: {
            CoinAdditionProb = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelLevel : pb::IMessage<table_TravelerDuelLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelLevel> _parser = new pb::MessageParser<table_TravelerDuelLevel>(() => new table_TravelerDuelLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[487]; }
    }

    [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 table_TravelerDuelLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelLevel(table_TravelerDuelLevel other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelLevel Clone() {
      return new table_TravelerDuelLevel(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelLevel> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelLevel> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TravelerDuelQuest : pb::IMessage<TravelerDuelQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TravelerDuelQuest> _parser = new pb::MessageParser<TravelerDuelQuest>(() => new TravelerDuelQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TravelerDuelQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[488]; }
    }

    [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 TravelerDuelQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelQuest(TravelerDuelQuest other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      desc_ = other.desc_;
      jumpTo_ = other.jumpTo_;
      order_ = other.order_;
      acceptParams2_ = other.acceptParams2_;
      completeCond_ = other.completeCond_;
      completeCondParams_ = other.completeCondParams_;
      awardItemTid1_ = other.awardItemTid1_;
      awardItemNum1_ = other.awardItemNum1_;
      awardItemTid2_ = other.awardItemTid2_;
      awardItemNum2_ = other.awardItemNum2_;
      awardItemTid3_ = other.awardItemTid3_;
      awardItemNum3_ = other.awardItemNum3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TravelerDuelQuest Clone() {
      return new TravelerDuelQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 4;
    private int jumpTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int JumpTo {
      get { return jumpTo_; }
      set {
        jumpTo_ = value;
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 5;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "AcceptParams2" field.</summary>
    public const int AcceptParams2FieldNumber = 6;
    private string acceptParams2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string AcceptParams2 {
      get { return acceptParams2_; }
      set {
        acceptParams2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CompleteCond" field.</summary>
    public const int CompleteCondFieldNumber = 7;
    private int completeCond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CompleteCond {
      get { return completeCond_; }
      set {
        completeCond_ = value;
      }
    }

    /// <summary>Field number for the "CompleteCondParams" field.</summary>
    public const int CompleteCondParamsFieldNumber = 8;
    private string completeCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CompleteCondParams {
      get { return completeCondParams_; }
      set {
        completeCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AwardItemTid1" field.</summary>
    public const int AwardItemTid1FieldNumber = 9;
    private int awardItemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid1 {
      get { return awardItemTid1_; }
      set {
        awardItemTid1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum1" field.</summary>
    public const int AwardItemNum1FieldNumber = 10;
    private int awardItemNum1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum1 {
      get { return awardItemNum1_; }
      set {
        awardItemNum1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid2" field.</summary>
    public const int AwardItemTid2FieldNumber = 11;
    private int awardItemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid2 {
      get { return awardItemTid2_; }
      set {
        awardItemTid2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum2" field.</summary>
    public const int AwardItemNum2FieldNumber = 12;
    private int awardItemNum2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum2 {
      get { return awardItemNum2_; }
      set {
        awardItemNum2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid3" field.</summary>
    public const int AwardItemTid3FieldNumber = 13;
    private int awardItemTid3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid3 {
      get { return awardItemTid3_; }
      set {
        awardItemTid3_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum3" field.</summary>
    public const int AwardItemNum3FieldNumber = 14;
    private int awardItemNum3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum3 {
      get { return awardItemNum3_; }
      set {
        awardItemNum3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TravelerDuelQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TravelerDuelQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (JumpTo != other.JumpTo) return false;
      if (Order != other.Order) return false;
      if (AcceptParams2 != other.AcceptParams2) return false;
      if (CompleteCond != other.CompleteCond) return false;
      if (CompleteCondParams != other.CompleteCondParams) return false;
      if (AwardItemTid1 != other.AwardItemTid1) return false;
      if (AwardItemNum1 != other.AwardItemNum1) return false;
      if (AwardItemTid2 != other.AwardItemTid2) return false;
      if (AwardItemNum2 != other.AwardItemNum2) return false;
      if (AwardItemTid3 != other.AwardItemTid3) return false;
      if (AwardItemNum3 != other.AwardItemNum3) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (AcceptParams2.Length != 0) hash ^= AcceptParams2.GetHashCode();
      if (CompleteCond != 0) hash ^= CompleteCond.GetHashCode();
      if (CompleteCondParams.Length != 0) hash ^= CompleteCondParams.GetHashCode();
      if (AwardItemTid1 != 0) hash ^= AwardItemTid1.GetHashCode();
      if (AwardItemNum1 != 0) hash ^= AwardItemNum1.GetHashCode();
      if (AwardItemTid2 != 0) hash ^= AwardItemTid2.GetHashCode();
      if (AwardItemNum2 != 0) hash ^= AwardItemNum2.GetHashCode();
      if (AwardItemTid3 != 0) hash ^= AwardItemTid3.GetHashCode();
      if (AwardItemNum3 != 0) hash ^= AwardItemNum3.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Order);
      }
      if (AcceptParams2.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AcceptParams2);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardItemNum3);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Order);
      }
      if (AcceptParams2.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(AcceptParams2);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardItemNum3);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (AcceptParams2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(AcceptParams2);
      }
      if (CompleteCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TravelerDuelQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.AcceptParams2.Length != 0) {
        AcceptParams2 = other.AcceptParams2;
      }
      if (other.CompleteCond != 0) {
        CompleteCond = other.CompleteCond;
      }
      if (other.CompleteCondParams.Length != 0) {
        CompleteCondParams = other.CompleteCondParams;
      }
      if (other.AwardItemTid1 != 0) {
        AwardItemTid1 = other.AwardItemTid1;
      }
      if (other.AwardItemNum1 != 0) {
        AwardItemNum1 = other.AwardItemNum1;
      }
      if (other.AwardItemTid2 != 0) {
        AwardItemTid2 = other.AwardItemTid2;
      }
      if (other.AwardItemNum2 != 0) {
        AwardItemNum2 = other.AwardItemNum2;
      }
      if (other.AwardItemTid3 != 0) {
        AwardItemTid3 = other.AwardItemTid3;
      }
      if (other.AwardItemNum3 != 0) {
        AwardItemNum3 = other.AwardItemNum3;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 40: {
            Order = input.ReadInt32();
            break;
          }
          case 50: {
            AcceptParams2 = input.ReadString();
            break;
          }
          case 56: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 66: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 72: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 80: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 88: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 96: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
          case 104: {
            AwardItemTid3 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardItemNum3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 32: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 40: {
            Order = input.ReadInt32();
            break;
          }
          case 50: {
            AcceptParams2 = input.ReadString();
            break;
          }
          case 56: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 66: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 72: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 80: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 88: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 96: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
          case 104: {
            AwardItemTid3 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardItemNum3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TravelerDuelQuest : pb::IMessage<table_TravelerDuelQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TravelerDuelQuest> _parser = new pb::MessageParser<table_TravelerDuelQuest>(() => new table_TravelerDuelQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TravelerDuelQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[489]; }
    }

    [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 table_TravelerDuelQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelQuest(table_TravelerDuelQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TravelerDuelQuest Clone() {
      return new table_TravelerDuelQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TravelerDuelQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TravelerDuelQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TravelerDuelQuest> list_ = new pbc::RepeatedField<global::Nova.Client.TravelerDuelQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TravelerDuelQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TravelerDuelQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TravelerDuelQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TravelerDuelQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TrialBuild : pb::IMessage<TrialBuild>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TrialBuild> _parser = new pb::MessageParser<TrialBuild>(() => new TrialBuild());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TrialBuild> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[490]; }
    }

    [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 TrialBuild() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrialBuild(TrialBuild other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      score_ = other.score_;
      char_ = other.char_.Clone();
      disc_ = other.disc_.Clone();
      potential_ = other.potential_;
      discCommonSkill1_ = other.discCommonSkill1_;
      discCommonSkill2_ = other.discCommonSkill2_;
      discCommonSkill3_ = other.discCommonSkill3_;
      discPassiveSkill1_ = other.discPassiveSkill1_;
      discPassiveSkill2_ = other.discPassiveSkill2_;
      discPassiveSkill3_ = other.discPassiveSkill3_;
      harmonySkill_ = other.harmonySkill_;
      note_ = other.note_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrialBuild Clone() {
      return new TrialBuild(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Score" field.</summary>
    public const int ScoreFieldNumber = 3;
    private int score_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Score {
      get { return score_; }
      set {
        score_ = value;
      }
    }

    /// <summary>Field number for the "Char" field.</summary>
    public const int CharFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_char_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> char_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Char {
      get { return char_; }
    }

    /// <summary>Field number for the "Disc" field.</summary>
    public const int DiscFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_disc_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> disc_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Disc {
      get { return disc_; }
    }

    /// <summary>Field number for the "Potential" field.</summary>
    public const int PotentialFieldNumber = 6;
    private string potential_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Potential {
      get { return potential_; }
      set {
        potential_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DiscCommonSkill1" field.</summary>
    public const int DiscCommonSkill1FieldNumber = 7;
    private string discCommonSkill1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DiscCommonSkill1 {
      get { return discCommonSkill1_; }
      set {
        discCommonSkill1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DiscCommonSkill2" field.</summary>
    public const int DiscCommonSkill2FieldNumber = 8;
    private string discCommonSkill2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DiscCommonSkill2 {
      get { return discCommonSkill2_; }
      set {
        discCommonSkill2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DiscCommonSkill3" field.</summary>
    public const int DiscCommonSkill3FieldNumber = 9;
    private string discCommonSkill3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DiscCommonSkill3 {
      get { return discCommonSkill3_; }
      set {
        discCommonSkill3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DiscPassiveSkill1" field.</summary>
    public const int DiscPassiveSkill1FieldNumber = 10;
    private string discPassiveSkill1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DiscPassiveSkill1 {
      get { return discPassiveSkill1_; }
      set {
        discPassiveSkill1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DiscPassiveSkill2" field.</summary>
    public const int DiscPassiveSkill2FieldNumber = 11;
    private string discPassiveSkill2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DiscPassiveSkill2 {
      get { return discPassiveSkill2_; }
      set {
        discPassiveSkill2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DiscPassiveSkill3" field.</summary>
    public const int DiscPassiveSkill3FieldNumber = 12;
    private string discPassiveSkill3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string DiscPassiveSkill3 {
      get { return discPassiveSkill3_; }
      set {
        discPassiveSkill3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "HarmonySkill" field.</summary>
    public const int HarmonySkillFieldNumber = 13;
    private string harmonySkill_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string HarmonySkill {
      get { return harmonySkill_; }
      set {
        harmonySkill_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Note" field.</summary>
    public const int NoteFieldNumber = 14;
    private string note_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Note {
      get { return note_; }
      set {
        note_ = 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 TrialBuild);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TrialBuild other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Score != other.Score) return false;
      if(!char_.Equals(other.char_)) return false;
      if(!disc_.Equals(other.disc_)) return false;
      if (Potential != other.Potential) return false;
      if (DiscCommonSkill1 != other.DiscCommonSkill1) return false;
      if (DiscCommonSkill2 != other.DiscCommonSkill2) return false;
      if (DiscCommonSkill3 != other.DiscCommonSkill3) return false;
      if (DiscPassiveSkill1 != other.DiscPassiveSkill1) return false;
      if (DiscPassiveSkill2 != other.DiscPassiveSkill2) return false;
      if (DiscPassiveSkill3 != other.DiscPassiveSkill3) return false;
      if (HarmonySkill != other.HarmonySkill) return false;
      if (Note != other.Note) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Score != 0) hash ^= Score.GetHashCode();
      hash ^= char_.GetHashCode();
      hash ^= disc_.GetHashCode();
      if (Potential.Length != 0) hash ^= Potential.GetHashCode();
      if (DiscCommonSkill1.Length != 0) hash ^= DiscCommonSkill1.GetHashCode();
      if (DiscCommonSkill2.Length != 0) hash ^= DiscCommonSkill2.GetHashCode();
      if (DiscCommonSkill3.Length != 0) hash ^= DiscCommonSkill3.GetHashCode();
      if (DiscPassiveSkill1.Length != 0) hash ^= DiscPassiveSkill1.GetHashCode();
      if (DiscPassiveSkill2.Length != 0) hash ^= DiscPassiveSkill2.GetHashCode();
      if (DiscPassiveSkill3.Length != 0) hash ^= DiscPassiveSkill3.GetHashCode();
      if (HarmonySkill.Length != 0) hash ^= HarmonySkill.GetHashCode();
      if (Note.Length != 0) hash ^= Note.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Score != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Score);
      }
      char_.WriteTo(output, _repeated_char_codec);
      disc_.WriteTo(output, _repeated_disc_codec);
      if (Potential.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Potential);
      }
      if (DiscCommonSkill1.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(DiscCommonSkill1);
      }
      if (DiscCommonSkill2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DiscCommonSkill2);
      }
      if (DiscCommonSkill3.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(DiscCommonSkill3);
      }
      if (DiscPassiveSkill1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(DiscPassiveSkill1);
      }
      if (DiscPassiveSkill2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DiscPassiveSkill2);
      }
      if (DiscPassiveSkill3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(DiscPassiveSkill3);
      }
      if (HarmonySkill.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(HarmonySkill);
      }
      if (Note.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Note);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Score != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Score);
      }
      char_.WriteTo(ref output, _repeated_char_codec);
      disc_.WriteTo(ref output, _repeated_disc_codec);
      if (Potential.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Potential);
      }
      if (DiscCommonSkill1.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(DiscCommonSkill1);
      }
      if (DiscCommonSkill2.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(DiscCommonSkill2);
      }
      if (DiscCommonSkill3.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(DiscCommonSkill3);
      }
      if (DiscPassiveSkill1.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(DiscPassiveSkill1);
      }
      if (DiscPassiveSkill2.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(DiscPassiveSkill2);
      }
      if (DiscPassiveSkill3.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(DiscPassiveSkill3);
      }
      if (HarmonySkill.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(HarmonySkill);
      }
      if (Note.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Note);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Score != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Score);
      }
      size += char_.CalculateSize(_repeated_char_codec);
      size += disc_.CalculateSize(_repeated_disc_codec);
      if (Potential.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Potential);
      }
      if (DiscCommonSkill1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DiscCommonSkill1);
      }
      if (DiscCommonSkill2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DiscCommonSkill2);
      }
      if (DiscCommonSkill3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DiscCommonSkill3);
      }
      if (DiscPassiveSkill1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DiscPassiveSkill1);
      }
      if (DiscPassiveSkill2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DiscPassiveSkill2);
      }
      if (DiscPassiveSkill3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(DiscPassiveSkill3);
      }
      if (HarmonySkill.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(HarmonySkill);
      }
      if (Note.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Note);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TrialBuild other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Score != 0) {
        Score = other.Score;
      }
      char_.Add(other.char_);
      disc_.Add(other.disc_);
      if (other.Potential.Length != 0) {
        Potential = other.Potential;
      }
      if (other.DiscCommonSkill1.Length != 0) {
        DiscCommonSkill1 = other.DiscCommonSkill1;
      }
      if (other.DiscCommonSkill2.Length != 0) {
        DiscCommonSkill2 = other.DiscCommonSkill2;
      }
      if (other.DiscCommonSkill3.Length != 0) {
        DiscCommonSkill3 = other.DiscCommonSkill3;
      }
      if (other.DiscPassiveSkill1.Length != 0) {
        DiscPassiveSkill1 = other.DiscPassiveSkill1;
      }
      if (other.DiscPassiveSkill2.Length != 0) {
        DiscPassiveSkill2 = other.DiscPassiveSkill2;
      }
      if (other.DiscPassiveSkill3.Length != 0) {
        DiscPassiveSkill3 = other.DiscPassiveSkill3;
      }
      if (other.HarmonySkill.Length != 0) {
        HarmonySkill = other.HarmonySkill;
      }
      if (other.Note.Length != 0) {
        Note = other.Note;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Score = input.ReadInt32();
            break;
          }
          case 34:
          case 32: {
            char_.AddEntriesFrom(input, _repeated_char_codec);
            break;
          }
          case 42:
          case 40: {
            disc_.AddEntriesFrom(input, _repeated_disc_codec);
            break;
          }
          case 50: {
            Potential = input.ReadString();
            break;
          }
          case 58: {
            DiscCommonSkill1 = input.ReadString();
            break;
          }
          case 66: {
            DiscCommonSkill2 = input.ReadString();
            break;
          }
          case 74: {
            DiscCommonSkill3 = input.ReadString();
            break;
          }
          case 82: {
            DiscPassiveSkill1 = input.ReadString();
            break;
          }
          case 90: {
            DiscPassiveSkill2 = input.ReadString();
            break;
          }
          case 98: {
            DiscPassiveSkill3 = input.ReadString();
            break;
          }
          case 106: {
            HarmonySkill = input.ReadString();
            break;
          }
          case 114: {
            Note = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            Score = input.ReadInt32();
            break;
          }
          case 34:
          case 32: {
            char_.AddEntriesFrom(ref input, _repeated_char_codec);
            break;
          }
          case 42:
          case 40: {
            disc_.AddEntriesFrom(ref input, _repeated_disc_codec);
            break;
          }
          case 50: {
            Potential = input.ReadString();
            break;
          }
          case 58: {
            DiscCommonSkill1 = input.ReadString();
            break;
          }
          case 66: {
            DiscCommonSkill2 = input.ReadString();
            break;
          }
          case 74: {
            DiscCommonSkill3 = input.ReadString();
            break;
          }
          case 82: {
            DiscPassiveSkill1 = input.ReadString();
            break;
          }
          case 90: {
            DiscPassiveSkill2 = input.ReadString();
            break;
          }
          case 98: {
            DiscPassiveSkill3 = input.ReadString();
            break;
          }
          case 106: {
            HarmonySkill = input.ReadString();
            break;
          }
          case 114: {
            Note = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TrialBuild : pb::IMessage<table_TrialBuild>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TrialBuild> _parser = new pb::MessageParser<table_TrialBuild>(() => new table_TrialBuild());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TrialBuild> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[491]; }
    }

    [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 table_TrialBuild() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrialBuild(table_TrialBuild other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrialBuild Clone() {
      return new table_TrialBuild(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TrialBuild> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TrialBuild.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TrialBuild> list_ = new pbc::RepeatedField<global::Nova.Client.TrialBuild>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TrialBuild> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TrialBuild);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TrialBuild other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TrialBuild other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TrialCharacter : pb::IMessage<TrialCharacter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TrialCharacter> _parser = new pb::MessageParser<TrialCharacter>(() => new TrialCharacter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TrialCharacter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[492]; }
    }

    [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 TrialCharacter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrialCharacter(TrialCharacter other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      charId_ = other.charId_;
      characterSkin_ = other.characterSkin_;
      break_ = other.break_;
      level_ = other.level_;
      skillLevel_ = other.skillLevel_.Clone();
      talent_ = other.talent_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrialCharacter Clone() {
      return new TrialCharacter(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "CharId" field.</summary>
    public const int CharIdFieldNumber = 3;
    private int charId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharId {
      get { return charId_; }
      set {
        charId_ = value;
      }
    }

    /// <summary>Field number for the "CharacterSkin" field.</summary>
    public const int CharacterSkinFieldNumber = 4;
    private int characterSkin_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharacterSkin {
      get { return characterSkin_; }
      set {
        characterSkin_ = value;
      }
    }

    /// <summary>Field number for the "Break" field.</summary>
    public const int BreakFieldNumber = 5;
    private int break_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Break {
      get { return break_; }
      set {
        break_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 6;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "SkillLevel" field.</summary>
    public const int SkillLevelFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_skillLevel_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> skillLevel_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> SkillLevel {
      get { return skillLevel_; }
    }

    /// <summary>Field number for the "Talent" field.</summary>
    public const int TalentFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_talent_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> talent_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Talent {
      get { return talent_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TrialCharacter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TrialCharacter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (CharId != other.CharId) return false;
      if (CharacterSkin != other.CharacterSkin) return false;
      if (Break != other.Break) return false;
      if (Level != other.Level) return false;
      if(!skillLevel_.Equals(other.skillLevel_)) return false;
      if(!talent_.Equals(other.talent_)) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (CharId != 0) hash ^= CharId.GetHashCode();
      if (CharacterSkin != 0) hash ^= CharacterSkin.GetHashCode();
      if (Break != 0) hash ^= Break.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      hash ^= skillLevel_.GetHashCode();
      hash ^= talent_.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (CharId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CharId);
      }
      if (CharacterSkin != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CharacterSkin);
      }
      if (Break != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Break);
      }
      if (Level != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Level);
      }
      skillLevel_.WriteTo(output, _repeated_skillLevel_codec);
      talent_.WriteTo(output, _repeated_talent_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (CharId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CharId);
      }
      if (CharacterSkin != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(CharacterSkin);
      }
      if (Break != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Break);
      }
      if (Level != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Level);
      }
      skillLevel_.WriteTo(ref output, _repeated_skillLevel_codec);
      talent_.WriteTo(ref output, _repeated_talent_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (CharId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharId);
      }
      if (CharacterSkin != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharacterSkin);
      }
      if (Break != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Break);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      size += skillLevel_.CalculateSize(_repeated_skillLevel_codec);
      size += talent_.CalculateSize(_repeated_talent_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TrialCharacter other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.CharId != 0) {
        CharId = other.CharId;
      }
      if (other.CharacterSkin != 0) {
        CharacterSkin = other.CharacterSkin;
      }
      if (other.Break != 0) {
        Break = other.Break;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      skillLevel_.Add(other.skillLevel_);
      talent_.Add(other.talent_);
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            CharId = input.ReadInt32();
            break;
          }
          case 32: {
            CharacterSkin = input.ReadInt32();
            break;
          }
          case 40: {
            Break = input.ReadInt32();
            break;
          }
          case 48: {
            Level = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            skillLevel_.AddEntriesFrom(input, _repeated_skillLevel_codec);
            break;
          }
          case 66:
          case 64: {
            talent_.AddEntriesFrom(input, _repeated_talent_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            CharId = input.ReadInt32();
            break;
          }
          case 32: {
            CharacterSkin = input.ReadInt32();
            break;
          }
          case 40: {
            Break = input.ReadInt32();
            break;
          }
          case 48: {
            Level = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            skillLevel_.AddEntriesFrom(ref input, _repeated_skillLevel_codec);
            break;
          }
          case 66:
          case 64: {
            talent_.AddEntriesFrom(ref input, _repeated_talent_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TrialCharacter : pb::IMessage<table_TrialCharacter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TrialCharacter> _parser = new pb::MessageParser<table_TrialCharacter>(() => new table_TrialCharacter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TrialCharacter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[493]; }
    }

    [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 table_TrialCharacter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrialCharacter(table_TrialCharacter other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrialCharacter Clone() {
      return new table_TrialCharacter(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TrialCharacter> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TrialCharacter.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TrialCharacter> list_ = new pbc::RepeatedField<global::Nova.Client.TrialCharacter>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TrialCharacter> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TrialCharacter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TrialCharacter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TrialCharacter other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class TrialDisc : pb::IMessage<TrialDisc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<TrialDisc> _parser = new pb::MessageParser<TrialDisc>(() => new TrialDisc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<TrialDisc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[494]; }
    }

    [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 TrialDisc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrialDisc(TrialDisc other) : this() {
      id_ = other.id_;
      discId_ = other.discId_;
      phase_ = other.phase_;
      level_ = other.level_;
      star_ = other.star_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public TrialDisc Clone() {
      return new TrialDisc(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "DiscId" field.</summary>
    public const int DiscIdFieldNumber = 2;
    private int discId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DiscId {
      get { return discId_; }
      set {
        discId_ = value;
      }
    }

    /// <summary>Field number for the "Phase" field.</summary>
    public const int PhaseFieldNumber = 3;
    private int phase_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Phase {
      get { return phase_; }
      set {
        phase_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 4;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "Star" field.</summary>
    public const int StarFieldNumber = 5;
    private int star_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Star {
      get { return star_; }
      set {
        star_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as TrialDisc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(TrialDisc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (DiscId != other.DiscId) return false;
      if (Phase != other.Phase) return false;
      if (Level != other.Level) return false;
      if (Star != other.Star) 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 (DiscId != 0) hash ^= DiscId.GetHashCode();
      if (Phase != 0) hash ^= Phase.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (Star != 0) hash ^= Star.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.WriteInt32(Id);
      }
      if (DiscId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DiscId);
      }
      if (Phase != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Phase);
      }
      if (Level != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Level);
      }
      if (Star != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Star);
      }
      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.WriteInt32(Id);
      }
      if (DiscId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(DiscId);
      }
      if (Phase != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Phase);
      }
      if (Level != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Level);
      }
      if (Star != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(Star);
      }
      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.ComputeInt32Size(Id);
      }
      if (DiscId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DiscId);
      }
      if (Phase != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Phase);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Star != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Star);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(TrialDisc other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.DiscId != 0) {
        DiscId = other.DiscId;
      }
      if (other.Phase != 0) {
        Phase = other.Phase;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Star != 0) {
        Star = other.Star;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            DiscId = input.ReadInt32();
            break;
          }
          case 24: {
            Phase = input.ReadInt32();
            break;
          }
          case 32: {
            Level = input.ReadInt32();
            break;
          }
          case 40: {
            Star = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            DiscId = input.ReadInt32();
            break;
          }
          case 24: {
            Phase = input.ReadInt32();
            break;
          }
          case 32: {
            Level = input.ReadInt32();
            break;
          }
          case 40: {
            Star = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_TrialDisc : pb::IMessage<table_TrialDisc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_TrialDisc> _parser = new pb::MessageParser<table_TrialDisc>(() => new table_TrialDisc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_TrialDisc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[495]; }
    }

    [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 table_TrialDisc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrialDisc(table_TrialDisc other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_TrialDisc Clone() {
      return new table_TrialDisc(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.TrialDisc> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.TrialDisc.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.TrialDisc> list_ = new pbc::RepeatedField<global::Nova.Client.TrialDisc>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.TrialDisc> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_TrialDisc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_TrialDisc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_TrialDisc other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class UIText : pb::IMessage<UIText>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<UIText> _parser = new pb::MessageParser<UIText>(() => new UIText());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<UIText> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[496]; }
    }

    [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 UIText() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UIText(UIText other) : this() {
      id_ = other.id_;
      text_ = other.text_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public UIText Clone() {
      return new UIText(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private string id_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Id {
      get { return id_; }
      set {
        id_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Text" field.</summary>
    public const int TextFieldNumber = 2;
    private string text_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Text {
      get { return text_; }
      set {
        text_ = 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 UIText);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(UIText other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Text != other.Text) 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.Length != 0) hash ^= Id.GetHashCode();
      if (Text.Length != 0) hash ^= Text.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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Text.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Text);
      }
      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.Length != 0) {
        output.WriteRawTag(10);
        output.WriteString(Id);
      }
      if (Text.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Text);
      }
      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.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Id);
      }
      if (Text.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Text);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(UIText other) {
      if (other == null) {
        return;
      }
      if (other.Id.Length != 0) {
        Id = other.Id;
      }
      if (other.Text.Length != 0) {
        Text = other.Text;
      }
      _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: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Text = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            Id = input.ReadString();
            break;
          }
          case 18: {
            Text = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_UIText : pb::IMessage<table_UIText>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_UIText> _parser = new pb::MessageParser<table_UIText>(() => new table_UIText());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_UIText> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[497]; }
    }

    [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 table_UIText() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_UIText(table_UIText other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_UIText Clone() {
      return new table_UIText(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.UIText> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.UIText.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.UIText> list_ = new pbc::RepeatedField<global::Nova.Client.UIText>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.UIText> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_UIText);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_UIText other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_UIText other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireBattleThreshold : pb::IMessage<VampireBattleThreshold>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireBattleThreshold> _parser = new pb::MessageParser<VampireBattleThreshold>(() => new VampireBattleThreshold());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireBattleThreshold> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[498]; }
    }

    [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 VampireBattleThreshold() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireBattleThreshold(VampireBattleThreshold other) : this() {
      missionId_ = other.missionId_;
      version_ = other.version_;
      fromSrcAtk_ = other.fromSrcAtk_;
      fromPerkIntensityRatio_ = other.fromPerkIntensityRatio_;
      fromSlotDmgRatio_ = other.fromSlotDmgRatio_;
      fromEE_ = other.fromEE_;
      fromGenDmgRatio_ = other.fromGenDmgRatio_;
      fromDmgPlus_ = other.fromDmgPlus_;
      fromCritRatio_ = other.fromCritRatio_;
      fromFinalDmgRatio_ = other.fromFinalDmgRatio_;
      fromFinalDmgPlus_ = other.fromFinalDmgPlus_;
      toErAmend_ = other.toErAmend_;
      toDefAmend_ = other.toDefAmend_;
      toRcdSlotDmgRatio_ = other.toRcdSlotDmgRatio_;
      toEERCD_ = other.toEERCD_;
      toGenDmgRcdRatio_ = other.toGenDmgRcdRatio_;
      toDmgPlusRcd_ = other.toDmgPlusRcd_;
      dmg_ = other.dmg_;
      critRate_ = other.critRate_;
      hp_ = other.hp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireBattleThreshold Clone() {
      return new VampireBattleThreshold(this);
    }

    /// <summary>Field number for the "MissionId" field.</summary>
    public const int MissionIdFieldNumber = 1;
    private int missionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MissionId {
      get { return missionId_; }
      set {
        missionId_ = value;
      }
    }

    /// <summary>Field number for the "Version" field.</summary>
    public const int VersionFieldNumber = 2;
    private int version_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Version {
      get { return version_; }
      set {
        version_ = value;
      }
    }

    /// <summary>Field number for the "fromSrcAtk" field.</summary>
    public const int FromSrcAtkFieldNumber = 3;
    private int fromSrcAtk_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromSrcAtk {
      get { return fromSrcAtk_; }
      set {
        fromSrcAtk_ = value;
      }
    }

    /// <summary>Field number for the "fromPerkIntensityRatio" field.</summary>
    public const int FromPerkIntensityRatioFieldNumber = 4;
    private int fromPerkIntensityRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromPerkIntensityRatio {
      get { return fromPerkIntensityRatio_; }
      set {
        fromPerkIntensityRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromSlotDmgRatio" field.</summary>
    public const int FromSlotDmgRatioFieldNumber = 5;
    private int fromSlotDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromSlotDmgRatio {
      get { return fromSlotDmgRatio_; }
      set {
        fromSlotDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromEE" field.</summary>
    public const int FromEEFieldNumber = 6;
    private int fromEE_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromEE {
      get { return fromEE_; }
      set {
        fromEE_ = value;
      }
    }

    /// <summary>Field number for the "fromGenDmgRatio" field.</summary>
    public const int FromGenDmgRatioFieldNumber = 7;
    private int fromGenDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromGenDmgRatio {
      get { return fromGenDmgRatio_; }
      set {
        fromGenDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromDmgPlus" field.</summary>
    public const int FromDmgPlusFieldNumber = 8;
    private int fromDmgPlus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromDmgPlus {
      get { return fromDmgPlus_; }
      set {
        fromDmgPlus_ = value;
      }
    }

    /// <summary>Field number for the "fromCritRatio" field.</summary>
    public const int FromCritRatioFieldNumber = 9;
    private int fromCritRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromCritRatio {
      get { return fromCritRatio_; }
      set {
        fromCritRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromFinalDmgRatio" field.</summary>
    public const int FromFinalDmgRatioFieldNumber = 10;
    private int fromFinalDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromFinalDmgRatio {
      get { return fromFinalDmgRatio_; }
      set {
        fromFinalDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "fromFinalDmgPlus" field.</summary>
    public const int FromFinalDmgPlusFieldNumber = 11;
    private int fromFinalDmgPlus_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FromFinalDmgPlus {
      get { return fromFinalDmgPlus_; }
      set {
        fromFinalDmgPlus_ = value;
      }
    }

    /// <summary>Field number for the "toErAmend" field.</summary>
    public const int ToErAmendFieldNumber = 12;
    private int toErAmend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToErAmend {
      get { return toErAmend_; }
      set {
        toErAmend_ = value;
      }
    }

    /// <summary>Field number for the "toDefAmend" field.</summary>
    public const int ToDefAmendFieldNumber = 13;
    private int toDefAmend_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToDefAmend {
      get { return toDefAmend_; }
      set {
        toDefAmend_ = value;
      }
    }

    /// <summary>Field number for the "toRcdSlotDmgRatio" field.</summary>
    public const int ToRcdSlotDmgRatioFieldNumber = 14;
    private int toRcdSlotDmgRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToRcdSlotDmgRatio {
      get { return toRcdSlotDmgRatio_; }
      set {
        toRcdSlotDmgRatio_ = value;
      }
    }

    /// <summary>Field number for the "toEERCD" field.</summary>
    public const int ToEERCDFieldNumber = 15;
    private int toEERCD_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToEERCD {
      get { return toEERCD_; }
      set {
        toEERCD_ = value;
      }
    }

    /// <summary>Field number for the "toGenDmgRcdRatio" field.</summary>
    public const int ToGenDmgRcdRatioFieldNumber = 16;
    private int toGenDmgRcdRatio_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToGenDmgRcdRatio {
      get { return toGenDmgRcdRatio_; }
      set {
        toGenDmgRcdRatio_ = value;
      }
    }

    /// <summary>Field number for the "toDmgPlusRcd" field.</summary>
    public const int ToDmgPlusRcdFieldNumber = 17;
    private int toDmgPlusRcd_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int ToDmgPlusRcd {
      get { return toDmgPlusRcd_; }
      set {
        toDmgPlusRcd_ = value;
      }
    }

    /// <summary>Field number for the "Dmg" field.</summary>
    public const int DmgFieldNumber = 18;
    private int dmg_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Dmg {
      get { return dmg_; }
      set {
        dmg_ = value;
      }
    }

    /// <summary>Field number for the "CritRate" field.</summary>
    public const int CritRateFieldNumber = 19;
    private int critRate_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CritRate {
      get { return critRate_; }
      set {
        critRate_ = value;
      }
    }

    /// <summary>Field number for the "Hp" field.</summary>
    public const int HpFieldNumber = 20;
    private int hp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Hp {
      get { return hp_; }
      set {
        hp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireBattleThreshold);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireBattleThreshold other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (MissionId != other.MissionId) return false;
      if (Version != other.Version) return false;
      if (FromSrcAtk != other.FromSrcAtk) return false;
      if (FromPerkIntensityRatio != other.FromPerkIntensityRatio) return false;
      if (FromSlotDmgRatio != other.FromSlotDmgRatio) return false;
      if (FromEE != other.FromEE) return false;
      if (FromGenDmgRatio != other.FromGenDmgRatio) return false;
      if (FromDmgPlus != other.FromDmgPlus) return false;
      if (FromCritRatio != other.FromCritRatio) return false;
      if (FromFinalDmgRatio != other.FromFinalDmgRatio) return false;
      if (FromFinalDmgPlus != other.FromFinalDmgPlus) return false;
      if (ToErAmend != other.ToErAmend) return false;
      if (ToDefAmend != other.ToDefAmend) return false;
      if (ToRcdSlotDmgRatio != other.ToRcdSlotDmgRatio) return false;
      if (ToEERCD != other.ToEERCD) return false;
      if (ToGenDmgRcdRatio != other.ToGenDmgRcdRatio) return false;
      if (ToDmgPlusRcd != other.ToDmgPlusRcd) return false;
      if (Dmg != other.Dmg) return false;
      if (CritRate != other.CritRate) return false;
      if (Hp != other.Hp) 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 (MissionId != 0) hash ^= MissionId.GetHashCode();
      if (Version != 0) hash ^= Version.GetHashCode();
      if (FromSrcAtk != 0) hash ^= FromSrcAtk.GetHashCode();
      if (FromPerkIntensityRatio != 0) hash ^= FromPerkIntensityRatio.GetHashCode();
      if (FromSlotDmgRatio != 0) hash ^= FromSlotDmgRatio.GetHashCode();
      if (FromEE != 0) hash ^= FromEE.GetHashCode();
      if (FromGenDmgRatio != 0) hash ^= FromGenDmgRatio.GetHashCode();
      if (FromDmgPlus != 0) hash ^= FromDmgPlus.GetHashCode();
      if (FromCritRatio != 0) hash ^= FromCritRatio.GetHashCode();
      if (FromFinalDmgRatio != 0) hash ^= FromFinalDmgRatio.GetHashCode();
      if (FromFinalDmgPlus != 0) hash ^= FromFinalDmgPlus.GetHashCode();
      if (ToErAmend != 0) hash ^= ToErAmend.GetHashCode();
      if (ToDefAmend != 0) hash ^= ToDefAmend.GetHashCode();
      if (ToRcdSlotDmgRatio != 0) hash ^= ToRcdSlotDmgRatio.GetHashCode();
      if (ToEERCD != 0) hash ^= ToEERCD.GetHashCode();
      if (ToGenDmgRcdRatio != 0) hash ^= ToGenDmgRcdRatio.GetHashCode();
      if (ToDmgPlusRcd != 0) hash ^= ToDmgPlusRcd.GetHashCode();
      if (Dmg != 0) hash ^= Dmg.GetHashCode();
      if (CritRate != 0) hash ^= CritRate.GetHashCode();
      if (Hp != 0) hash ^= Hp.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 (MissionId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MissionId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Version);
      }
      if (FromSrcAtk != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ToErAmend);
      }
      if (ToDefAmend != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Dmg);
      }
      if (CritRate != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(CritRate);
      }
      if (Hp != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Hp);
      }
      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 (MissionId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(MissionId);
      }
      if (Version != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Version);
      }
      if (FromSrcAtk != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(ToErAmend);
      }
      if (ToDefAmend != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(Dmg);
      }
      if (CritRate != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(CritRate);
      }
      if (Hp != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(Hp);
      }
      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 (MissionId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MissionId);
      }
      if (Version != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Version);
      }
      if (FromSrcAtk != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromSrcAtk);
      }
      if (FromPerkIntensityRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromPerkIntensityRatio);
      }
      if (FromSlotDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromSlotDmgRatio);
      }
      if (FromEE != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromEE);
      }
      if (FromGenDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromGenDmgRatio);
      }
      if (FromDmgPlus != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromDmgPlus);
      }
      if (FromCritRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromCritRatio);
      }
      if (FromFinalDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromFinalDmgRatio);
      }
      if (FromFinalDmgPlus != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FromFinalDmgPlus);
      }
      if (ToErAmend != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToErAmend);
      }
      if (ToDefAmend != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToDefAmend);
      }
      if (ToRcdSlotDmgRatio != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToRcdSlotDmgRatio);
      }
      if (ToEERCD != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(ToEERCD);
      }
      if (ToGenDmgRcdRatio != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToGenDmgRcdRatio);
      }
      if (ToDmgPlusRcd != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(ToDmgPlusRcd);
      }
      if (Dmg != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Dmg);
      }
      if (CritRate != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(CritRate);
      }
      if (Hp != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(Hp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireBattleThreshold other) {
      if (other == null) {
        return;
      }
      if (other.MissionId != 0) {
        MissionId = other.MissionId;
      }
      if (other.Version != 0) {
        Version = other.Version;
      }
      if (other.FromSrcAtk != 0) {
        FromSrcAtk = other.FromSrcAtk;
      }
      if (other.FromPerkIntensityRatio != 0) {
        FromPerkIntensityRatio = other.FromPerkIntensityRatio;
      }
      if (other.FromSlotDmgRatio != 0) {
        FromSlotDmgRatio = other.FromSlotDmgRatio;
      }
      if (other.FromEE != 0) {
        FromEE = other.FromEE;
      }
      if (other.FromGenDmgRatio != 0) {
        FromGenDmgRatio = other.FromGenDmgRatio;
      }
      if (other.FromDmgPlus != 0) {
        FromDmgPlus = other.FromDmgPlus;
      }
      if (other.FromCritRatio != 0) {
        FromCritRatio = other.FromCritRatio;
      }
      if (other.FromFinalDmgRatio != 0) {
        FromFinalDmgRatio = other.FromFinalDmgRatio;
      }
      if (other.FromFinalDmgPlus != 0) {
        FromFinalDmgPlus = other.FromFinalDmgPlus;
      }
      if (other.ToErAmend != 0) {
        ToErAmend = other.ToErAmend;
      }
      if (other.ToDefAmend != 0) {
        ToDefAmend = other.ToDefAmend;
      }
      if (other.ToRcdSlotDmgRatio != 0) {
        ToRcdSlotDmgRatio = other.ToRcdSlotDmgRatio;
      }
      if (other.ToEERCD != 0) {
        ToEERCD = other.ToEERCD;
      }
      if (other.ToGenDmgRcdRatio != 0) {
        ToGenDmgRcdRatio = other.ToGenDmgRcdRatio;
      }
      if (other.ToDmgPlusRcd != 0) {
        ToDmgPlusRcd = other.ToDmgPlusRcd;
      }
      if (other.Dmg != 0) {
        Dmg = other.Dmg;
      }
      if (other.CritRate != 0) {
        CritRate = other.CritRate;
      }
      if (other.Hp != 0) {
        Hp = other.Hp;
      }
      _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: {
            MissionId = input.ReadInt32();
            break;
          }
          case 16: {
            Version = input.ReadInt32();
            break;
          }
          case 24: {
            FromSrcAtk = input.ReadInt32();
            break;
          }
          case 32: {
            FromPerkIntensityRatio = input.ReadInt32();
            break;
          }
          case 40: {
            FromSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 48: {
            FromEE = input.ReadInt32();
            break;
          }
          case 56: {
            FromGenDmgRatio = input.ReadInt32();
            break;
          }
          case 64: {
            FromDmgPlus = input.ReadInt32();
            break;
          }
          case 72: {
            FromCritRatio = input.ReadInt32();
            break;
          }
          case 80: {
            FromFinalDmgRatio = input.ReadInt32();
            break;
          }
          case 88: {
            FromFinalDmgPlus = input.ReadInt32();
            break;
          }
          case 96: {
            ToErAmend = input.ReadInt32();
            break;
          }
          case 104: {
            ToDefAmend = input.ReadInt32();
            break;
          }
          case 112: {
            ToRcdSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 120: {
            ToEERCD = input.ReadInt32();
            break;
          }
          case 128: {
            ToGenDmgRcdRatio = input.ReadInt32();
            break;
          }
          case 136: {
            ToDmgPlusRcd = input.ReadInt32();
            break;
          }
          case 144: {
            Dmg = input.ReadInt32();
            break;
          }
          case 152: {
            CritRate = input.ReadInt32();
            break;
          }
          case 160: {
            Hp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            MissionId = input.ReadInt32();
            break;
          }
          case 16: {
            Version = input.ReadInt32();
            break;
          }
          case 24: {
            FromSrcAtk = input.ReadInt32();
            break;
          }
          case 32: {
            FromPerkIntensityRatio = input.ReadInt32();
            break;
          }
          case 40: {
            FromSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 48: {
            FromEE = input.ReadInt32();
            break;
          }
          case 56: {
            FromGenDmgRatio = input.ReadInt32();
            break;
          }
          case 64: {
            FromDmgPlus = input.ReadInt32();
            break;
          }
          case 72: {
            FromCritRatio = input.ReadInt32();
            break;
          }
          case 80: {
            FromFinalDmgRatio = input.ReadInt32();
            break;
          }
          case 88: {
            FromFinalDmgPlus = input.ReadInt32();
            break;
          }
          case 96: {
            ToErAmend = input.ReadInt32();
            break;
          }
          case 104: {
            ToDefAmend = input.ReadInt32();
            break;
          }
          case 112: {
            ToRcdSlotDmgRatio = input.ReadInt32();
            break;
          }
          case 120: {
            ToEERCD = input.ReadInt32();
            break;
          }
          case 128: {
            ToGenDmgRcdRatio = input.ReadInt32();
            break;
          }
          case 136: {
            ToDmgPlusRcd = input.ReadInt32();
            break;
          }
          case 144: {
            Dmg = input.ReadInt32();
            break;
          }
          case 152: {
            CritRate = input.ReadInt32();
            break;
          }
          case 160: {
            Hp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireBattleThreshold : pb::IMessage<table_VampireBattleThreshold>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireBattleThreshold> _parser = new pb::MessageParser<table_VampireBattleThreshold>(() => new table_VampireBattleThreshold());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireBattleThreshold> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[499]; }
    }

    [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 table_VampireBattleThreshold() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireBattleThreshold(table_VampireBattleThreshold other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireBattleThreshold Clone() {
      return new table_VampireBattleThreshold(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireBattleThreshold> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireBattleThreshold.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireBattleThreshold> list_ = new pbc::RepeatedField<global::Nova.Client.VampireBattleThreshold>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireBattleThreshold> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireBattleThreshold);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireBattleThreshold other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireBattleThreshold other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireEnemyPool : pb::IMessage<VampireEnemyPool>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireEnemyPool> _parser = new pb::MessageParser<VampireEnemyPool>(() => new VampireEnemyPool());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireEnemyPool> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[500]; }
    }

    [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 VampireEnemyPool() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireEnemyPool(VampireEnemyPool other) : this() {
      poolId_ = other.poolId_;
      waveNum_ = other.waveNum_;
      monsterLevel_ = other.monsterLevel_;
      enemySetID_ = other.enemySetID_;
      waveKeepTime_ = other.waveKeepTime_;
      poolType_ = other.poolType_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireEnemyPool Clone() {
      return new VampireEnemyPool(this);
    }

    /// <summary>Field number for the "PoolId" field.</summary>
    public const int PoolIdFieldNumber = 1;
    private int poolId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PoolId {
      get { return poolId_; }
      set {
        poolId_ = value;
      }
    }

    /// <summary>Field number for the "WaveNum" field.</summary>
    public const int WaveNumFieldNumber = 2;
    private int waveNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WaveNum {
      get { return waveNum_; }
      set {
        waveNum_ = value;
      }
    }

    /// <summary>Field number for the "MonsterLevel" field.</summary>
    public const int MonsterLevelFieldNumber = 3;
    private int monsterLevel_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterLevel {
      get { return monsterLevel_; }
      set {
        monsterLevel_ = value;
      }
    }

    /// <summary>Field number for the "EnemySetID" field.</summary>
    public const int EnemySetIDFieldNumber = 4;
    private int enemySetID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EnemySetID {
      get { return enemySetID_; }
      set {
        enemySetID_ = value;
      }
    }

    /// <summary>Field number for the "WaveKeepTime" field.</summary>
    public const int WaveKeepTimeFieldNumber = 5;
    private int waveKeepTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int WaveKeepTime {
      get { return waveKeepTime_; }
      set {
        waveKeepTime_ = value;
      }
    }

    /// <summary>Field number for the "PoolType" field.</summary>
    public const int PoolTypeFieldNumber = 6;
    private int poolType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PoolType {
      get { return poolType_; }
      set {
        poolType_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireEnemyPool);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireEnemyPool other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (PoolId != other.PoolId) return false;
      if (WaveNum != other.WaveNum) return false;
      if (MonsterLevel != other.MonsterLevel) return false;
      if (EnemySetID != other.EnemySetID) return false;
      if (WaveKeepTime != other.WaveKeepTime) return false;
      if (PoolType != other.PoolType) 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 (PoolId != 0) hash ^= PoolId.GetHashCode();
      if (WaveNum != 0) hash ^= WaveNum.GetHashCode();
      if (MonsterLevel != 0) hash ^= MonsterLevel.GetHashCode();
      if (EnemySetID != 0) hash ^= EnemySetID.GetHashCode();
      if (WaveKeepTime != 0) hash ^= WaveKeepTime.GetHashCode();
      if (PoolType != 0) hash ^= PoolType.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 (PoolId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PoolId);
      }
      if (WaveNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(WaveNum);
      }
      if (MonsterLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MonsterLevel);
      }
      if (EnemySetID != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EnemySetID);
      }
      if (WaveKeepTime != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(WaveKeepTime);
      }
      if (PoolType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PoolType);
      }
      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 (PoolId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(PoolId);
      }
      if (WaveNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(WaveNum);
      }
      if (MonsterLevel != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MonsterLevel);
      }
      if (EnemySetID != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(EnemySetID);
      }
      if (WaveKeepTime != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(WaveKeepTime);
      }
      if (PoolType != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(PoolType);
      }
      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 (PoolId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PoolId);
      }
      if (WaveNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveNum);
      }
      if (MonsterLevel != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterLevel);
      }
      if (EnemySetID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EnemySetID);
      }
      if (WaveKeepTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(WaveKeepTime);
      }
      if (PoolType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PoolType);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireEnemyPool other) {
      if (other == null) {
        return;
      }
      if (other.PoolId != 0) {
        PoolId = other.PoolId;
      }
      if (other.WaveNum != 0) {
        WaveNum = other.WaveNum;
      }
      if (other.MonsterLevel != 0) {
        MonsterLevel = other.MonsterLevel;
      }
      if (other.EnemySetID != 0) {
        EnemySetID = other.EnemySetID;
      }
      if (other.WaveKeepTime != 0) {
        WaveKeepTime = other.WaveKeepTime;
      }
      if (other.PoolType != 0) {
        PoolType = other.PoolType;
      }
      _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: {
            PoolId = input.ReadInt32();
            break;
          }
          case 16: {
            WaveNum = input.ReadInt32();
            break;
          }
          case 24: {
            MonsterLevel = input.ReadInt32();
            break;
          }
          case 32: {
            EnemySetID = input.ReadInt32();
            break;
          }
          case 40: {
            WaveKeepTime = input.ReadInt32();
            break;
          }
          case 48: {
            PoolType = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            PoolId = input.ReadInt32();
            break;
          }
          case 16: {
            WaveNum = input.ReadInt32();
            break;
          }
          case 24: {
            MonsterLevel = input.ReadInt32();
            break;
          }
          case 32: {
            EnemySetID = input.ReadInt32();
            break;
          }
          case 40: {
            WaveKeepTime = input.ReadInt32();
            break;
          }
          case 48: {
            PoolType = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireEnemyPool : pb::IMessage<table_VampireEnemyPool>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireEnemyPool> _parser = new pb::MessageParser<table_VampireEnemyPool>(() => new table_VampireEnemyPool());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireEnemyPool> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[501]; }
    }

    [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 table_VampireEnemyPool() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireEnemyPool(table_VampireEnemyPool other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireEnemyPool Clone() {
      return new table_VampireEnemyPool(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireEnemyPool> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireEnemyPool.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireEnemyPool> list_ = new pbc::RepeatedField<global::Nova.Client.VampireEnemyPool>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireEnemyPool> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireEnemyPool);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireEnemyPool other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireEnemyPool other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireEnemySet : pb::IMessage<VampireEnemySet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireEnemySet> _parser = new pb::MessageParser<VampireEnemySet>(() => new VampireEnemySet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireEnemySet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[502]; }
    }

    [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 VampireEnemySet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireEnemySet(VampireEnemySet other) : this() {
      setId_ = other.setId_;
      groupNum_ = other.groupNum_;
      monsterId_ = other.monsterId_;
      levelChange_ = other.levelChange_;
      delayTime_ = other.delayTime_;
      maxNum_ = other.maxNum_;
      addData_ = other.addData_.Clone();
      maxNumImproveData_ = other.maxNumImproveData_.Clone();
      monsterSpawnType_ = other.monsterSpawnType_;
      monsterPoint_ = other.monsterPoint_;
      dropExp_ = other.dropExp_.Clone();
      dropChest_ = other.dropChest_.Clone();
      monsterWarning_ = other.monsterWarning_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireEnemySet Clone() {
      return new VampireEnemySet(this);
    }

    /// <summary>Field number for the "SetId" field.</summary>
    public const int SetIdFieldNumber = 1;
    private int setId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SetId {
      get { return setId_; }
      set {
        setId_ = value;
      }
    }

    /// <summary>Field number for the "GroupNum" field.</summary>
    public const int GroupNumFieldNumber = 2;
    private int groupNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupNum {
      get { return groupNum_; }
      set {
        groupNum_ = value;
      }
    }

    /// <summary>Field number for the "MonsterId" field.</summary>
    public const int MonsterIdFieldNumber = 3;
    private int monsterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterId {
      get { return monsterId_; }
      set {
        monsterId_ = value;
      }
    }

    /// <summary>Field number for the "LevelChange" field.</summary>
    public const int LevelChangeFieldNumber = 4;
    private int levelChange_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelChange {
      get { return levelChange_; }
      set {
        levelChange_ = value;
      }
    }

    /// <summary>Field number for the "DelayTime" field.</summary>
    public const int DelayTimeFieldNumber = 5;
    private int delayTime_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DelayTime {
      get { return delayTime_; }
      set {
        delayTime_ = value;
      }
    }

    /// <summary>Field number for the "MaxNum" field.</summary>
    public const int MaxNumFieldNumber = 6;
    private int maxNum_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MaxNum {
      get { return maxNum_; }
      set {
        maxNum_ = value;
      }
    }

    /// <summary>Field number for the "AddData" field.</summary>
    public const int AddDataFieldNumber = 7;
    private static readonly pb::FieldCodec<int> _repeated_addData_codec
        = pb::FieldCodec.ForInt32(58);
    private readonly pbc::RepeatedField<int> addData_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> AddData {
      get { return addData_; }
    }

    /// <summary>Field number for the "MaxNumImproveData" field.</summary>
    public const int MaxNumImproveDataFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_maxNumImproveData_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> maxNumImproveData_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> MaxNumImproveData {
      get { return maxNumImproveData_; }
    }

    /// <summary>Field number for the "MonsterSpawnType" field.</summary>
    public const int MonsterSpawnTypeFieldNumber = 9;
    private int monsterSpawnType_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterSpawnType {
      get { return monsterSpawnType_; }
      set {
        monsterSpawnType_ = value;
      }
    }

    /// <summary>Field number for the "MonsterPoint" field.</summary>
    public const int MonsterPointFieldNumber = 10;
    private int monsterPoint_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterPoint {
      get { return monsterPoint_; }
      set {
        monsterPoint_ = value;
      }
    }

    /// <summary>Field number for the "DropExp" field.</summary>
    public const int DropExpFieldNumber = 11;
    private static readonly pb::FieldCodec<int> _repeated_dropExp_codec
        = pb::FieldCodec.ForInt32(90);
    private readonly pbc::RepeatedField<int> dropExp_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DropExp {
      get { return dropExp_; }
    }

    /// <summary>Field number for the "DropChest" field.</summary>
    public const int DropChestFieldNumber = 12;
    private static readonly pb::FieldCodec<int> _repeated_dropChest_codec
        = pb::FieldCodec.ForInt32(98);
    private readonly pbc::RepeatedField<int> dropChest_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> DropChest {
      get { return dropChest_; }
    }

    /// <summary>Field number for the "MonsterWarning" field.</summary>
    public const int MonsterWarningFieldNumber = 13;
    private int monsterWarning_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MonsterWarning {
      get { return monsterWarning_; }
      set {
        monsterWarning_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireEnemySet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireEnemySet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (SetId != other.SetId) return false;
      if (GroupNum != other.GroupNum) return false;
      if (MonsterId != other.MonsterId) return false;
      if (LevelChange != other.LevelChange) return false;
      if (DelayTime != other.DelayTime) return false;
      if (MaxNum != other.MaxNum) return false;
      if(!addData_.Equals(other.addData_)) return false;
      if(!maxNumImproveData_.Equals(other.maxNumImproveData_)) return false;
      if (MonsterSpawnType != other.MonsterSpawnType) return false;
      if (MonsterPoint != other.MonsterPoint) return false;
      if(!dropExp_.Equals(other.dropExp_)) return false;
      if(!dropChest_.Equals(other.dropChest_)) return false;
      if (MonsterWarning != other.MonsterWarning) 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 (SetId != 0) hash ^= SetId.GetHashCode();
      if (GroupNum != 0) hash ^= GroupNum.GetHashCode();
      if (MonsterId != 0) hash ^= MonsterId.GetHashCode();
      if (LevelChange != 0) hash ^= LevelChange.GetHashCode();
      if (DelayTime != 0) hash ^= DelayTime.GetHashCode();
      if (MaxNum != 0) hash ^= MaxNum.GetHashCode();
      hash ^= addData_.GetHashCode();
      hash ^= maxNumImproveData_.GetHashCode();
      if (MonsterSpawnType != 0) hash ^= MonsterSpawnType.GetHashCode();
      if (MonsterPoint != 0) hash ^= MonsterPoint.GetHashCode();
      hash ^= dropExp_.GetHashCode();
      hash ^= dropChest_.GetHashCode();
      if (MonsterWarning != 0) hash ^= MonsterWarning.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 (SetId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(SetId);
      }
      if (GroupNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupNum);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MonsterId);
      }
      if (LevelChange != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelChange);
      }
      if (DelayTime != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DelayTime);
      }
      if (MaxNum != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MaxNum);
      }
      addData_.WriteTo(output, _repeated_addData_codec);
      maxNumImproveData_.WriteTo(output, _repeated_maxNumImproveData_codec);
      if (MonsterSpawnType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(MonsterSpawnType);
      }
      if (MonsterPoint != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(MonsterPoint);
      }
      dropExp_.WriteTo(output, _repeated_dropExp_codec);
      dropChest_.WriteTo(output, _repeated_dropChest_codec);
      if (MonsterWarning != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(MonsterWarning);
      }
      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 (SetId != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(SetId);
      }
      if (GroupNum != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupNum);
      }
      if (MonsterId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(MonsterId);
      }
      if (LevelChange != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(LevelChange);
      }
      if (DelayTime != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DelayTime);
      }
      if (MaxNum != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(MaxNum);
      }
      addData_.WriteTo(ref output, _repeated_addData_codec);
      maxNumImproveData_.WriteTo(ref output, _repeated_maxNumImproveData_codec);
      if (MonsterSpawnType != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(MonsterSpawnType);
      }
      if (MonsterPoint != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(MonsterPoint);
      }
      dropExp_.WriteTo(ref output, _repeated_dropExp_codec);
      dropChest_.WriteTo(ref output, _repeated_dropChest_codec);
      if (MonsterWarning != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(MonsterWarning);
      }
      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 (SetId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SetId);
      }
      if (GroupNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupNum);
      }
      if (MonsterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterId);
      }
      if (LevelChange != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelChange);
      }
      if (DelayTime != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DelayTime);
      }
      if (MaxNum != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MaxNum);
      }
      size += addData_.CalculateSize(_repeated_addData_codec);
      size += maxNumImproveData_.CalculateSize(_repeated_maxNumImproveData_codec);
      if (MonsterSpawnType != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterSpawnType);
      }
      if (MonsterPoint != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterPoint);
      }
      size += dropExp_.CalculateSize(_repeated_dropExp_codec);
      size += dropChest_.CalculateSize(_repeated_dropChest_codec);
      if (MonsterWarning != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MonsterWarning);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireEnemySet other) {
      if (other == null) {
        return;
      }
      if (other.SetId != 0) {
        SetId = other.SetId;
      }
      if (other.GroupNum != 0) {
        GroupNum = other.GroupNum;
      }
      if (other.MonsterId != 0) {
        MonsterId = other.MonsterId;
      }
      if (other.LevelChange != 0) {
        LevelChange = other.LevelChange;
      }
      if (other.DelayTime != 0) {
        DelayTime = other.DelayTime;
      }
      if (other.MaxNum != 0) {
        MaxNum = other.MaxNum;
      }
      addData_.Add(other.addData_);
      maxNumImproveData_.Add(other.maxNumImproveData_);
      if (other.MonsterSpawnType != 0) {
        MonsterSpawnType = other.MonsterSpawnType;
      }
      if (other.MonsterPoint != 0) {
        MonsterPoint = other.MonsterPoint;
      }
      dropExp_.Add(other.dropExp_);
      dropChest_.Add(other.dropChest_);
      if (other.MonsterWarning != 0) {
        MonsterWarning = other.MonsterWarning;
      }
      _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: {
            SetId = input.ReadInt32();
            break;
          }
          case 16: {
            GroupNum = input.ReadInt32();
            break;
          }
          case 24: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 32: {
            LevelChange = input.ReadInt32();
            break;
          }
          case 40: {
            DelayTime = input.ReadInt32();
            break;
          }
          case 48: {
            MaxNum = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            addData_.AddEntriesFrom(input, _repeated_addData_codec);
            break;
          }
          case 66:
          case 64: {
            maxNumImproveData_.AddEntriesFrom(input, _repeated_maxNumImproveData_codec);
            break;
          }
          case 72: {
            MonsterSpawnType = input.ReadInt32();
            break;
          }
          case 80: {
            MonsterPoint = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            dropExp_.AddEntriesFrom(input, _repeated_dropExp_codec);
            break;
          }
          case 98:
          case 96: {
            dropChest_.AddEntriesFrom(input, _repeated_dropChest_codec);
            break;
          }
          case 104: {
            MonsterWarning = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            SetId = input.ReadInt32();
            break;
          }
          case 16: {
            GroupNum = input.ReadInt32();
            break;
          }
          case 24: {
            MonsterId = input.ReadInt32();
            break;
          }
          case 32: {
            LevelChange = input.ReadInt32();
            break;
          }
          case 40: {
            DelayTime = input.ReadInt32();
            break;
          }
          case 48: {
            MaxNum = input.ReadInt32();
            break;
          }
          case 58:
          case 56: {
            addData_.AddEntriesFrom(ref input, _repeated_addData_codec);
            break;
          }
          case 66:
          case 64: {
            maxNumImproveData_.AddEntriesFrom(ref input, _repeated_maxNumImproveData_codec);
            break;
          }
          case 72: {
            MonsterSpawnType = input.ReadInt32();
            break;
          }
          case 80: {
            MonsterPoint = input.ReadInt32();
            break;
          }
          case 90:
          case 88: {
            dropExp_.AddEntriesFrom(ref input, _repeated_dropExp_codec);
            break;
          }
          case 98:
          case 96: {
            dropChest_.AddEntriesFrom(ref input, _repeated_dropChest_codec);
            break;
          }
          case 104: {
            MonsterWarning = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireEnemySet : pb::IMessage<table_VampireEnemySet>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireEnemySet> _parser = new pb::MessageParser<table_VampireEnemySet>(() => new table_VampireEnemySet());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireEnemySet> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[503]; }
    }

    [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 table_VampireEnemySet() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireEnemySet(table_VampireEnemySet other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireEnemySet Clone() {
      return new table_VampireEnemySet(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireEnemySet> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireEnemySet.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireEnemySet> list_ = new pbc::RepeatedField<global::Nova.Client.VampireEnemySet>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireEnemySet> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireEnemySet);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireEnemySet other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireEnemySet other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireEnemySpAttr : pb::IMessage<VampireEnemySpAttr>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireEnemySpAttr> _parser = new pb::MessageParser<VampireEnemySpAttr>(() => new VampireEnemySpAttr());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireEnemySpAttr> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[504]; }
    }

    [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 VampireEnemySpAttr() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireEnemySpAttr(VampireEnemySpAttr other) : this() {
      id_ = other.id_;
      refDistance_ = other.refDistance_.Clone();
      refInterval_ = other.refInterval_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireEnemySpAttr Clone() {
      return new VampireEnemySpAttr(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RefDistance" field.</summary>
    public const int RefDistanceFieldNumber = 2;
    private static readonly pb::FieldCodec<int> _repeated_refDistance_codec
        = pb::FieldCodec.ForInt32(18);
    private readonly pbc::RepeatedField<int> refDistance_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> RefDistance {
      get { return refDistance_; }
    }

    /// <summary>Field number for the "RefInterval" field.</summary>
    public const int RefIntervalFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_refInterval_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> refInterval_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> RefInterval {
      get { return refInterval_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireEnemySpAttr);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireEnemySpAttr other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if(!refDistance_.Equals(other.refDistance_)) return false;
      if(!refInterval_.Equals(other.refInterval_)) 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();
      hash ^= refDistance_.GetHashCode();
      hash ^= refInterval_.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.WriteInt32(Id);
      }
      refDistance_.WriteTo(output, _repeated_refDistance_codec);
      refInterval_.WriteTo(output, _repeated_refInterval_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      refDistance_.WriteTo(ref output, _repeated_refDistance_codec);
      refInterval_.WriteTo(ref output, _repeated_refInterval_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      size += refDistance_.CalculateSize(_repeated_refDistance_codec);
      size += refInterval_.CalculateSize(_repeated_refInterval_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireEnemySpAttr other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      refDistance_.Add(other.refDistance_);
      refInterval_.Add(other.refInterval_);
      _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.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            refDistance_.AddEntriesFrom(input, _repeated_refDistance_codec);
            break;
          }
          case 26:
          case 24: {
            refInterval_.AddEntriesFrom(input, _repeated_refInterval_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18:
          case 16: {
            refDistance_.AddEntriesFrom(ref input, _repeated_refDistance_codec);
            break;
          }
          case 26:
          case 24: {
            refInterval_.AddEntriesFrom(ref input, _repeated_refInterval_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireEnemySpAttr : pb::IMessage<table_VampireEnemySpAttr>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireEnemySpAttr> _parser = new pb::MessageParser<table_VampireEnemySpAttr>(() => new table_VampireEnemySpAttr());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireEnemySpAttr> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[505]; }
    }

    [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 table_VampireEnemySpAttr() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireEnemySpAttr(table_VampireEnemySpAttr other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireEnemySpAttr Clone() {
      return new table_VampireEnemySpAttr(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireEnemySpAttr> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireEnemySpAttr.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireEnemySpAttr> list_ = new pbc::RepeatedField<global::Nova.Client.VampireEnemySpAttr>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireEnemySpAttr> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireEnemySpAttr);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireEnemySpAttr other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireEnemySpAttr other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireFloor : pb::IMessage<VampireFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireFloor> _parser = new pb::MessageParser<VampireFloor>(() => new VampireFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[506]; }
    }

    [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 VampireFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireFloor(VampireFloor other) : this() {
      id_ = other.id_;
      mapId_ = other.mapId_;
      waveCount_ = other.waveCount_.Clone();
      firstHalfPoolId_ = other.firstHalfPoolId_;
      fHAffixId_ = other.fHAffixId_.Clone();
      fHBossId_ = other.fHBossId_;
      secondHalfPoolId_ = other.secondHalfPoolId_;
      sHAffixId_ = other.sHAffixId_.Clone();
      sHBossId_ = other.sHBossId_;
      specialEnemySetId_ = other.specialEnemySetId_;
      treasureSetId_ = other.treasureSetId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireFloor Clone() {
      return new VampireFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MapId" field.</summary>
    public const int MapIdFieldNumber = 2;
    private int mapId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MapId {
      get { return mapId_; }
      set {
        mapId_ = value;
      }
    }

    /// <summary>Field number for the "WaveCount" field.</summary>
    public const int WaveCountFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_waveCount_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> waveCount_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> WaveCount {
      get { return waveCount_; }
    }

    /// <summary>Field number for the "FirstHalfPoolId" field.</summary>
    public const int FirstHalfPoolIdFieldNumber = 4;
    private int firstHalfPoolId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FirstHalfPoolId {
      get { return firstHalfPoolId_; }
      set {
        firstHalfPoolId_ = value;
      }
    }

    /// <summary>Field number for the "FHAffixId" field.</summary>
    public const int FHAffixIdFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_fHAffixId_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> fHAffixId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FHAffixId {
      get { return fHAffixId_; }
    }

    /// <summary>Field number for the "FHBossId" field.</summary>
    public const int FHBossIdFieldNumber = 6;
    private int fHBossId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FHBossId {
      get { return fHBossId_; }
      set {
        fHBossId_ = value;
      }
    }

    /// <summary>Field number for the "SecondHalfPoolId" field.</summary>
    public const int SecondHalfPoolIdFieldNumber = 7;
    private int secondHalfPoolId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SecondHalfPoolId {
      get { return secondHalfPoolId_; }
      set {
        secondHalfPoolId_ = value;
      }
    }

    /// <summary>Field number for the "SHAffixId" field.</summary>
    public const int SHAffixIdFieldNumber = 8;
    private static readonly pb::FieldCodec<int> _repeated_sHAffixId_codec
        = pb::FieldCodec.ForInt32(66);
    private readonly pbc::RepeatedField<int> sHAffixId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> SHAffixId {
      get { return sHAffixId_; }
    }

    /// <summary>Field number for the "SHBossId" field.</summary>
    public const int SHBossIdFieldNumber = 9;
    private int sHBossId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SHBossId {
      get { return sHBossId_; }
      set {
        sHBossId_ = value;
      }
    }

    /// <summary>Field number for the "SpecialEnemySetId" field.</summary>
    public const int SpecialEnemySetIdFieldNumber = 10;
    private string specialEnemySetId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SpecialEnemySetId {
      get { return specialEnemySetId_; }
      set {
        specialEnemySetId_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "TreasureSetId" field.</summary>
    public const int TreasureSetIdFieldNumber = 11;
    private string treasureSetId_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string TreasureSetId {
      get { return treasureSetId_; }
      set {
        treasureSetId_ = 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 VampireFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MapId != other.MapId) return false;
      if(!waveCount_.Equals(other.waveCount_)) return false;
      if (FirstHalfPoolId != other.FirstHalfPoolId) return false;
      if(!fHAffixId_.Equals(other.fHAffixId_)) return false;
      if (FHBossId != other.FHBossId) return false;
      if (SecondHalfPoolId != other.SecondHalfPoolId) return false;
      if(!sHAffixId_.Equals(other.sHAffixId_)) return false;
      if (SHBossId != other.SHBossId) return false;
      if (SpecialEnemySetId != other.SpecialEnemySetId) return false;
      if (TreasureSetId != other.TreasureSetId) 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 (MapId != 0) hash ^= MapId.GetHashCode();
      hash ^= waveCount_.GetHashCode();
      if (FirstHalfPoolId != 0) hash ^= FirstHalfPoolId.GetHashCode();
      hash ^= fHAffixId_.GetHashCode();
      if (FHBossId != 0) hash ^= FHBossId.GetHashCode();
      if (SecondHalfPoolId != 0) hash ^= SecondHalfPoolId.GetHashCode();
      hash ^= sHAffixId_.GetHashCode();
      if (SHBossId != 0) hash ^= SHBossId.GetHashCode();
      if (SpecialEnemySetId.Length != 0) hash ^= SpecialEnemySetId.GetHashCode();
      if (TreasureSetId.Length != 0) hash ^= TreasureSetId.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.WriteInt32(Id);
      }
      if (MapId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MapId);
      }
      waveCount_.WriteTo(output, _repeated_waveCount_codec);
      if (FirstHalfPoolId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FirstHalfPoolId);
      }
      fHAffixId_.WriteTo(output, _repeated_fHAffixId_codec);
      if (FHBossId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FHBossId);
      }
      if (SecondHalfPoolId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SecondHalfPoolId);
      }
      sHAffixId_.WriteTo(output, _repeated_sHAffixId_codec);
      if (SHBossId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(SHBossId);
      }
      if (SpecialEnemySetId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(SpecialEnemySetId);
      }
      if (TreasureSetId.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TreasureSetId);
      }
      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.WriteInt32(Id);
      }
      if (MapId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MapId);
      }
      waveCount_.WriteTo(ref output, _repeated_waveCount_codec);
      if (FirstHalfPoolId != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(FirstHalfPoolId);
      }
      fHAffixId_.WriteTo(ref output, _repeated_fHAffixId_codec);
      if (FHBossId != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(FHBossId);
      }
      if (SecondHalfPoolId != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(SecondHalfPoolId);
      }
      sHAffixId_.WriteTo(ref output, _repeated_sHAffixId_codec);
      if (SHBossId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(SHBossId);
      }
      if (SpecialEnemySetId.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(SpecialEnemySetId);
      }
      if (TreasureSetId.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(TreasureSetId);
      }
      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.ComputeInt32Size(Id);
      }
      if (MapId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MapId);
      }
      size += waveCount_.CalculateSize(_repeated_waveCount_codec);
      if (FirstHalfPoolId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FirstHalfPoolId);
      }
      size += fHAffixId_.CalculateSize(_repeated_fHAffixId_codec);
      if (FHBossId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FHBossId);
      }
      if (SecondHalfPoolId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SecondHalfPoolId);
      }
      size += sHAffixId_.CalculateSize(_repeated_sHAffixId_codec);
      if (SHBossId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SHBossId);
      }
      if (SpecialEnemySetId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SpecialEnemySetId);
      }
      if (TreasureSetId.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(TreasureSetId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MapId != 0) {
        MapId = other.MapId;
      }
      waveCount_.Add(other.waveCount_);
      if (other.FirstHalfPoolId != 0) {
        FirstHalfPoolId = other.FirstHalfPoolId;
      }
      fHAffixId_.Add(other.fHAffixId_);
      if (other.FHBossId != 0) {
        FHBossId = other.FHBossId;
      }
      if (other.SecondHalfPoolId != 0) {
        SecondHalfPoolId = other.SecondHalfPoolId;
      }
      sHAffixId_.Add(other.sHAffixId_);
      if (other.SHBossId != 0) {
        SHBossId = other.SHBossId;
      }
      if (other.SpecialEnemySetId.Length != 0) {
        SpecialEnemySetId = other.SpecialEnemySetId;
      }
      if (other.TreasureSetId.Length != 0) {
        TreasureSetId = other.TreasureSetId;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            MapId = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            waveCount_.AddEntriesFrom(input, _repeated_waveCount_codec);
            break;
          }
          case 32: {
            FirstHalfPoolId = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            fHAffixId_.AddEntriesFrom(input, _repeated_fHAffixId_codec);
            break;
          }
          case 48: {
            FHBossId = input.ReadInt32();
            break;
          }
          case 56: {
            SecondHalfPoolId = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            sHAffixId_.AddEntriesFrom(input, _repeated_sHAffixId_codec);
            break;
          }
          case 72: {
            SHBossId = input.ReadInt32();
            break;
          }
          case 82: {
            SpecialEnemySetId = input.ReadString();
            break;
          }
          case 90: {
            TreasureSetId = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            MapId = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            waveCount_.AddEntriesFrom(ref input, _repeated_waveCount_codec);
            break;
          }
          case 32: {
            FirstHalfPoolId = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            fHAffixId_.AddEntriesFrom(ref input, _repeated_fHAffixId_codec);
            break;
          }
          case 48: {
            FHBossId = input.ReadInt32();
            break;
          }
          case 56: {
            SecondHalfPoolId = input.ReadInt32();
            break;
          }
          case 66:
          case 64: {
            sHAffixId_.AddEntriesFrom(ref input, _repeated_sHAffixId_codec);
            break;
          }
          case 72: {
            SHBossId = input.ReadInt32();
            break;
          }
          case 82: {
            SpecialEnemySetId = input.ReadString();
            break;
          }
          case 90: {
            TreasureSetId = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireFloor : pb::IMessage<table_VampireFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireFloor> _parser = new pb::MessageParser<table_VampireFloor>(() => new table_VampireFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[507]; }
    }

    [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 table_VampireFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireFloor(table_VampireFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireFloor Clone() {
      return new table_VampireFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireFloor> list_ = new pbc::RepeatedField<global::Nova.Client.VampireFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireMap : pb::IMessage<VampireMap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireMap> _parser = new pb::MessageParser<VampireMap>(() => new VampireMap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[508]; }
    }

    [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 VampireMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireMap(VampireMap other) : this() {
      id_ = other.id_;
      sceneName_ = other.sceneName_;
      configPrefabName_ = other.configPrefabName_;
      theme_ = other.theme_;
      bGM_ = other.bGM_;
      leaveTriggerEvent_ = other.leaveTriggerEvent_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireMap Clone() {
      return new VampireMap(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "SceneName" field.</summary>
    public const int SceneNameFieldNumber = 2;
    private string sceneName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SceneName {
      get { return sceneName_; }
      set {
        sceneName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "ConfigPrefabName" field.</summary>
    public const int ConfigPrefabNameFieldNumber = 3;
    private string configPrefabName_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string ConfigPrefabName {
      get { return configPrefabName_; }
      set {
        configPrefabName_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Theme" field.</summary>
    public const int ThemeFieldNumber = 4;
    private int theme_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Theme {
      get { return theme_; }
      set {
        theme_ = value;
      }
    }

    /// <summary>Field number for the "BGM" field.</summary>
    public const int BGMFieldNumber = 5;
    private string bGM_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string BGM {
      get { return bGM_; }
      set {
        bGM_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "LeaveTriggerEvent" field.</summary>
    public const int LeaveTriggerEventFieldNumber = 6;
    private string leaveTriggerEvent_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string LeaveTriggerEvent {
      get { return leaveTriggerEvent_; }
      set {
        leaveTriggerEvent_ = 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 VampireMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (SceneName != other.SceneName) return false;
      if (ConfigPrefabName != other.ConfigPrefabName) return false;
      if (Theme != other.Theme) return false;
      if (BGM != other.BGM) return false;
      if (LeaveTriggerEvent != other.LeaveTriggerEvent) 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 (SceneName.Length != 0) hash ^= SceneName.GetHashCode();
      if (ConfigPrefabName.Length != 0) hash ^= ConfigPrefabName.GetHashCode();
      if (Theme != 0) hash ^= Theme.GetHashCode();
      if (BGM.Length != 0) hash ^= BGM.GetHashCode();
      if (LeaveTriggerEvent.Length != 0) hash ^= LeaveTriggerEvent.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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      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.WriteInt32(Id);
      }
      if (SceneName.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(ConfigPrefabName);
      }
      if (Theme != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Theme);
      }
      if (BGM.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(LeaveTriggerEvent);
      }
      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.ComputeInt32Size(Id);
      }
      if (SceneName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(SceneName);
      }
      if (ConfigPrefabName.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(ConfigPrefabName);
      }
      if (Theme != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Theme);
      }
      if (BGM.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(BGM);
      }
      if (LeaveTriggerEvent.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(LeaveTriggerEvent);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireMap other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.SceneName.Length != 0) {
        SceneName = other.SceneName;
      }
      if (other.ConfigPrefabName.Length != 0) {
        ConfigPrefabName = other.ConfigPrefabName;
      }
      if (other.Theme != 0) {
        Theme = other.Theme;
      }
      if (other.BGM.Length != 0) {
        BGM = other.BGM;
      }
      if (other.LeaveTriggerEvent.Length != 0) {
        LeaveTriggerEvent = other.LeaveTriggerEvent;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            SceneName = input.ReadString();
            break;
          }
          case 26: {
            ConfigPrefabName = input.ReadString();
            break;
          }
          case 32: {
            Theme = input.ReadInt32();
            break;
          }
          case 42: {
            BGM = input.ReadString();
            break;
          }
          case 50: {
            LeaveTriggerEvent = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireMap : pb::IMessage<table_VampireMap>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireMap> _parser = new pb::MessageParser<table_VampireMap>(() => new table_VampireMap());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireMap> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[509]; }
    }

    [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 table_VampireMap() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireMap(table_VampireMap other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireMap Clone() {
      return new table_VampireMap(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireMap> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireMap.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireMap> list_ = new pbc::RepeatedField<global::Nova.Client.VampireMap>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireMap> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireMap);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireMap other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireMap other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireRankReward : pb::IMessage<VampireRankReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireRankReward> _parser = new pb::MessageParser<VampireRankReward>(() => new VampireRankReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireRankReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[510]; }
    }

    [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 VampireRankReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireRankReward(VampireRankReward other) : this() {
      id_ = other.id_;
      rankLower_ = other.rankLower_;
      awardItemTid1_ = other.awardItemTid1_;
      awardItemNum1_ = other.awardItemNum1_;
      awardItemTid2_ = other.awardItemTid2_;
      awardItemNum2_ = other.awardItemNum2_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireRankReward Clone() {
      return new VampireRankReward(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "RankLower" field.</summary>
    public const int RankLowerFieldNumber = 2;
    private int rankLower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RankLower {
      get { return rankLower_; }
      set {
        rankLower_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid1" field.</summary>
    public const int AwardItemTid1FieldNumber = 3;
    private int awardItemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid1 {
      get { return awardItemTid1_; }
      set {
        awardItemTid1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum1" field.</summary>
    public const int AwardItemNum1FieldNumber = 4;
    private int awardItemNum1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum1 {
      get { return awardItemNum1_; }
      set {
        awardItemNum1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid2" field.</summary>
    public const int AwardItemTid2FieldNumber = 5;
    private int awardItemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid2 {
      get { return awardItemTid2_; }
      set {
        awardItemTid2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum2" field.</summary>
    public const int AwardItemNum2FieldNumber = 6;
    private int awardItemNum2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum2 {
      get { return awardItemNum2_; }
      set {
        awardItemNum2_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireRankReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireRankReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (RankLower != other.RankLower) return false;
      if (AwardItemTid1 != other.AwardItemTid1) return false;
      if (AwardItemNum1 != other.AwardItemNum1) return false;
      if (AwardItemTid2 != other.AwardItemTid2) return false;
      if (AwardItemNum2 != other.AwardItemNum2) 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 (RankLower != 0) hash ^= RankLower.GetHashCode();
      if (AwardItemTid1 != 0) hash ^= AwardItemTid1.GetHashCode();
      if (AwardItemNum1 != 0) hash ^= AwardItemNum1.GetHashCode();
      if (AwardItemTid2 != 0) hash ^= AwardItemTid2.GetHashCode();
      if (AwardItemNum2 != 0) hash ^= AwardItemNum2.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.WriteInt32(Id);
      }
      if (RankLower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RankLower);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AwardItemNum2);
      }
      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.WriteInt32(Id);
      }
      if (RankLower != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(RankLower);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(AwardItemNum2);
      }
      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.ComputeInt32Size(Id);
      }
      if (RankLower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RankLower);
      }
      if (AwardItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum2);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireRankReward other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.RankLower != 0) {
        RankLower = other.RankLower;
      }
      if (other.AwardItemTid1 != 0) {
        AwardItemTid1 = other.AwardItemTid1;
      }
      if (other.AwardItemNum1 != 0) {
        AwardItemNum1 = other.AwardItemNum1;
      }
      if (other.AwardItemTid2 != 0) {
        AwardItemTid2 = other.AwardItemTid2;
      }
      if (other.AwardItemNum2 != 0) {
        AwardItemNum2 = other.AwardItemNum2;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            RankLower = input.ReadInt32();
            break;
          }
          case 24: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            RankLower = input.ReadInt32();
            break;
          }
          case 24: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 32: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 40: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 48: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireRankReward : pb::IMessage<table_VampireRankReward>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireRankReward> _parser = new pb::MessageParser<table_VampireRankReward>(() => new table_VampireRankReward());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireRankReward> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[511]; }
    }

    [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 table_VampireRankReward() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireRankReward(table_VampireRankReward other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireRankReward Clone() {
      return new table_VampireRankReward(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireRankReward> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireRankReward.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireRankReward> list_ = new pbc::RepeatedField<global::Nova.Client.VampireRankReward>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireRankReward> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireRankReward);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireRankReward other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireRankReward other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireRankSeason : pb::IMessage<VampireRankSeason>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireRankSeason> _parser = new pb::MessageParser<VampireRankSeason>(() => new VampireRankSeason());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireRankSeason> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[512]; }
    }

    [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 VampireRankSeason() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireRankSeason(VampireRankSeason other) : this() {
      id_ = other.id_;
      missionId_ = other.missionId_;
      openTime_ = other.openTime_;
      endTime_ = other.endTime_;
      questGroup_ = other.questGroup_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireRankSeason Clone() {
      return new VampireRankSeason(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "MissionId" field.</summary>
    public const int MissionIdFieldNumber = 2;
    private int missionId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int MissionId {
      get { return missionId_; }
      set {
        missionId_ = value;
      }
    }

    /// <summary>Field number for the "OpenTime" field.</summary>
    public const int OpenTimeFieldNumber = 3;
    private string openTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string OpenTime {
      get { return openTime_; }
      set {
        openTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EndTime" field.</summary>
    public const int EndTimeFieldNumber = 4;
    private string endTime_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string EndTime {
      get { return endTime_; }
      set {
        endTime_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "QuestGroup" field.</summary>
    public const int QuestGroupFieldNumber = 5;
    private int questGroup_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int QuestGroup {
      get { return questGroup_; }
      set {
        questGroup_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireRankSeason);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireRankSeason other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (MissionId != other.MissionId) return false;
      if (OpenTime != other.OpenTime) return false;
      if (EndTime != other.EndTime) return false;
      if (QuestGroup != other.QuestGroup) 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 (MissionId != 0) hash ^= MissionId.GetHashCode();
      if (OpenTime.Length != 0) hash ^= OpenTime.GetHashCode();
      if (EndTime.Length != 0) hash ^= EndTime.GetHashCode();
      if (QuestGroup != 0) hash ^= QuestGroup.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.WriteInt32(Id);
      }
      if (MissionId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MissionId);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OpenTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(EndTime);
      }
      if (QuestGroup != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(QuestGroup);
      }
      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.WriteInt32(Id);
      }
      if (MissionId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(MissionId);
      }
      if (OpenTime.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(OpenTime);
      }
      if (EndTime.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(EndTime);
      }
      if (QuestGroup != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(QuestGroup);
      }
      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.ComputeInt32Size(Id);
      }
      if (MissionId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(MissionId);
      }
      if (OpenTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(OpenTime);
      }
      if (EndTime.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(EndTime);
      }
      if (QuestGroup != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(QuestGroup);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireRankSeason other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.MissionId != 0) {
        MissionId = other.MissionId;
      }
      if (other.OpenTime.Length != 0) {
        OpenTime = other.OpenTime;
      }
      if (other.EndTime.Length != 0) {
        EndTime = other.EndTime;
      }
      if (other.QuestGroup != 0) {
        QuestGroup = other.QuestGroup;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            MissionId = input.ReadInt32();
            break;
          }
          case 26: {
            OpenTime = input.ReadString();
            break;
          }
          case 34: {
            EndTime = input.ReadString();
            break;
          }
          case 40: {
            QuestGroup = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            MissionId = input.ReadInt32();
            break;
          }
          case 26: {
            OpenTime = input.ReadString();
            break;
          }
          case 34: {
            EndTime = input.ReadString();
            break;
          }
          case 40: {
            QuestGroup = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireRankSeason : pb::IMessage<table_VampireRankSeason>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireRankSeason> _parser = new pb::MessageParser<table_VampireRankSeason>(() => new table_VampireRankSeason());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireRankSeason> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[513]; }
    }

    [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 table_VampireRankSeason() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireRankSeason(table_VampireRankSeason other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireRankSeason Clone() {
      return new table_VampireRankSeason(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireRankSeason> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireRankSeason.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireRankSeason> list_ = new pbc::RepeatedField<global::Nova.Client.VampireRankSeason>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireRankSeason> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireRankSeason);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireRankSeason other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireRankSeason other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireSurvivor : pb::IMessage<VampireSurvivor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireSurvivor> _parser = new pb::MessageParser<VampireSurvivor>(() => new VampireSurvivor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireSurvivor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[514]; }
    }

    [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 VampireSurvivor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireSurvivor(VampireSurvivor other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      desc_ = other.desc_;
      eET_ = other.eET_.Clone();
      notEET_ = other.notEET_.Clone();
      suggestedPower_ = other.suggestedPower_;
      recommendBuildRank_ = other.recommendBuildRank_;
      type_ = other.type_;
      preLevelId_ = other.preLevelId_;
      needWorldClass_ = other.needWorldClass_;
      firstQuestGroupId_ = other.firstQuestGroupId_;
      levelGroupId_ = other.levelGroupId_;
      floorId_ = other.floorId_;
      normalScore1_ = other.normalScore1_;
      eliteScore1_ = other.eliteScore1_;
      bossScore1_ = other.bossScore1_;
      timeScore1_ = other.timeScore1_;
      timeLimit1_ = other.timeLimit1_;
      normalScore2_ = other.normalScore2_;
      eliteScore2_ = other.eliteScore2_;
      bossScore2_ = other.bossScore2_;
      timeScore2_ = other.timeScore2_;
      timeLimit2_ = other.timeLimit2_;
      eETScore1_ = other.eETScore1_.Clone();
      eETScore2_ = other.eETScore2_.Clone();
      fHPreviewMonsterGroupId_ = other.fHPreviewMonsterGroupId_;
      sHPreviewMonsterGroupId_ = other.sHPreviewMonsterGroupId_;
      coverEpisode_ = other.coverEpisode_;
      episode_ = other.episode_;
      episode2_ = other.episode2_;
      fateCardBundle_ = other.fateCardBundle_.Clone();
      speciaFateCard_ = other.speciaFateCard_;
      speciaFateCardParam_ = other.speciaFateCardParam_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireSurvivor Clone() {
      return new VampireSurvivor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EET" field.</summary>
    public const int EETFieldNumber = 4;
    private static readonly pb::FieldCodec<int> _repeated_eET_codec
        = pb::FieldCodec.ForInt32(34);
    private readonly pbc::RepeatedField<int> eET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EET {
      get { return eET_; }
    }

    /// <summary>Field number for the "NotEET" field.</summary>
    public const int NotEETFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_notEET_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> notEET_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> NotEET {
      get { return notEET_; }
    }

    /// <summary>Field number for the "SuggestedPower" field.</summary>
    public const int SuggestedPowerFieldNumber = 6;
    private int suggestedPower_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SuggestedPower {
      get { return suggestedPower_; }
      set {
        suggestedPower_ = value;
      }
    }

    /// <summary>Field number for the "RecommendBuildRank" field.</summary>
    public const int RecommendBuildRankFieldNumber = 7;
    private int recommendBuildRank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RecommendBuildRank {
      get { return recommendBuildRank_; }
      set {
        recommendBuildRank_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 8;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "PreLevelId" field.</summary>
    public const int PreLevelIdFieldNumber = 9;
    private int preLevelId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int PreLevelId {
      get { return preLevelId_; }
      set {
        preLevelId_ = value;
      }
    }

    /// <summary>Field number for the "NeedWorldClass" field.</summary>
    public const int NeedWorldClassFieldNumber = 10;
    private int needWorldClass_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NeedWorldClass {
      get { return needWorldClass_; }
      set {
        needWorldClass_ = value;
      }
    }

    /// <summary>Field number for the "FirstQuestGroupId" field.</summary>
    public const int FirstQuestGroupIdFieldNumber = 11;
    private int firstQuestGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FirstQuestGroupId {
      get { return firstQuestGroupId_; }
      set {
        firstQuestGroupId_ = value;
      }
    }

    /// <summary>Field number for the "LevelGroupId" field.</summary>
    public const int LevelGroupIdFieldNumber = 12;
    private int levelGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int LevelGroupId {
      get { return levelGroupId_; }
      set {
        levelGroupId_ = value;
      }
    }

    /// <summary>Field number for the "FloorId" field.</summary>
    public const int FloorIdFieldNumber = 13;
    private int floorId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FloorId {
      get { return floorId_; }
      set {
        floorId_ = value;
      }
    }

    /// <summary>Field number for the "NormalScore1" field.</summary>
    public const int NormalScore1FieldNumber = 14;
    private int normalScore1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NormalScore1 {
      get { return normalScore1_; }
      set {
        normalScore1_ = value;
      }
    }

    /// <summary>Field number for the "EliteScore1" field.</summary>
    public const int EliteScore1FieldNumber = 15;
    private int eliteScore1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EliteScore1 {
      get { return eliteScore1_; }
      set {
        eliteScore1_ = value;
      }
    }

    /// <summary>Field number for the "BossScore1" field.</summary>
    public const int BossScore1FieldNumber = 16;
    private int bossScore1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BossScore1 {
      get { return bossScore1_; }
      set {
        bossScore1_ = value;
      }
    }

    /// <summary>Field number for the "TimeScore1" field.</summary>
    public const int TimeScore1FieldNumber = 17;
    private int timeScore1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TimeScore1 {
      get { return timeScore1_; }
      set {
        timeScore1_ = value;
      }
    }

    /// <summary>Field number for the "TimeLimit1" field.</summary>
    public const int TimeLimit1FieldNumber = 18;
    private int timeLimit1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TimeLimit1 {
      get { return timeLimit1_; }
      set {
        timeLimit1_ = value;
      }
    }

    /// <summary>Field number for the "NormalScore2" field.</summary>
    public const int NormalScore2FieldNumber = 19;
    private int normalScore2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int NormalScore2 {
      get { return normalScore2_; }
      set {
        normalScore2_ = value;
      }
    }

    /// <summary>Field number for the "EliteScore2" field.</summary>
    public const int EliteScore2FieldNumber = 20;
    private int eliteScore2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EliteScore2 {
      get { return eliteScore2_; }
      set {
        eliteScore2_ = value;
      }
    }

    /// <summary>Field number for the "BossScore2" field.</summary>
    public const int BossScore2FieldNumber = 21;
    private int bossScore2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int BossScore2 {
      get { return bossScore2_; }
      set {
        bossScore2_ = value;
      }
    }

    /// <summary>Field number for the "TimeScore2" field.</summary>
    public const int TimeScore2FieldNumber = 22;
    private int timeScore2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TimeScore2 {
      get { return timeScore2_; }
      set {
        timeScore2_ = value;
      }
    }

    /// <summary>Field number for the "TimeLimit2" field.</summary>
    public const int TimeLimit2FieldNumber = 23;
    private int timeLimit2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int TimeLimit2 {
      get { return timeLimit2_; }
      set {
        timeLimit2_ = value;
      }
    }

    /// <summary>Field number for the "EETScore1" field.</summary>
    public const int EETScore1FieldNumber = 24;
    private static readonly pb::FieldCodec<int> _repeated_eETScore1_codec
        = pb::FieldCodec.ForInt32(194);
    private readonly pbc::RepeatedField<int> eETScore1_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EETScore1 {
      get { return eETScore1_; }
    }

    /// <summary>Field number for the "EETScore2" field.</summary>
    public const int EETScore2FieldNumber = 25;
    private static readonly pb::FieldCodec<int> _repeated_eETScore2_codec
        = pb::FieldCodec.ForInt32(202);
    private readonly pbc::RepeatedField<int> eETScore2_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> EETScore2 {
      get { return eETScore2_; }
    }

    /// <summary>Field number for the "FHPreviewMonsterGroupId" field.</summary>
    public const int FHPreviewMonsterGroupIdFieldNumber = 26;
    private int fHPreviewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int FHPreviewMonsterGroupId {
      get { return fHPreviewMonsterGroupId_; }
      set {
        fHPreviewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "SHPreviewMonsterGroupId" field.</summary>
    public const int SHPreviewMonsterGroupIdFieldNumber = 27;
    private int sHPreviewMonsterGroupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int SHPreviewMonsterGroupId {
      get { return sHPreviewMonsterGroupId_; }
      set {
        sHPreviewMonsterGroupId_ = value;
      }
    }

    /// <summary>Field number for the "CoverEpisode" field.</summary>
    public const int CoverEpisodeFieldNumber = 28;
    private string coverEpisode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CoverEpisode {
      get { return coverEpisode_; }
      set {
        coverEpisode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Episode" field.</summary>
    public const int EpisodeFieldNumber = 29;
    private string episode_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode {
      get { return episode_; }
      set {
        episode_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Episode2" field.</summary>
    public const int Episode2FieldNumber = 30;
    private string episode2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Episode2 {
      get { return episode2_; }
      set {
        episode2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "FateCardBundle" field.</summary>
    public const int FateCardBundleFieldNumber = 31;
    private static readonly pb::FieldCodec<int> _repeated_fateCardBundle_codec
        = pb::FieldCodec.ForInt32(250);
    private readonly pbc::RepeatedField<int> fateCardBundle_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> FateCardBundle {
      get { return fateCardBundle_; }
    }

    /// <summary>Field number for the "SpeciaFateCard" field.</summary>
    public const int SpeciaFateCardFieldNumber = 32;
    private string speciaFateCard_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SpeciaFateCard {
      get { return speciaFateCard_; }
      set {
        speciaFateCard_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "SpeciaFateCardParam" field.</summary>
    public const int SpeciaFateCardParamFieldNumber = 33;
    private string speciaFateCardParam_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string SpeciaFateCardParam {
      get { return speciaFateCardParam_; }
      set {
        speciaFateCardParam_ = 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 VampireSurvivor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireSurvivor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (Desc != other.Desc) return false;
      if(!eET_.Equals(other.eET_)) return false;
      if(!notEET_.Equals(other.notEET_)) return false;
      if (SuggestedPower != other.SuggestedPower) return false;
      if (RecommendBuildRank != other.RecommendBuildRank) return false;
      if (Type != other.Type) return false;
      if (PreLevelId != other.PreLevelId) return false;
      if (NeedWorldClass != other.NeedWorldClass) return false;
      if (FirstQuestGroupId != other.FirstQuestGroupId) return false;
      if (LevelGroupId != other.LevelGroupId) return false;
      if (FloorId != other.FloorId) return false;
      if (NormalScore1 != other.NormalScore1) return false;
      if (EliteScore1 != other.EliteScore1) return false;
      if (BossScore1 != other.BossScore1) return false;
      if (TimeScore1 != other.TimeScore1) return false;
      if (TimeLimit1 != other.TimeLimit1) return false;
      if (NormalScore2 != other.NormalScore2) return false;
      if (EliteScore2 != other.EliteScore2) return false;
      if (BossScore2 != other.BossScore2) return false;
      if (TimeScore2 != other.TimeScore2) return false;
      if (TimeLimit2 != other.TimeLimit2) return false;
      if(!eETScore1_.Equals(other.eETScore1_)) return false;
      if(!eETScore2_.Equals(other.eETScore2_)) return false;
      if (FHPreviewMonsterGroupId != other.FHPreviewMonsterGroupId) return false;
      if (SHPreviewMonsterGroupId != other.SHPreviewMonsterGroupId) return false;
      if (CoverEpisode != other.CoverEpisode) return false;
      if (Episode != other.Episode) return false;
      if (Episode2 != other.Episode2) return false;
      if(!fateCardBundle_.Equals(other.fateCardBundle_)) return false;
      if (SpeciaFateCard != other.SpeciaFateCard) return false;
      if (SpeciaFateCardParam != other.SpeciaFateCardParam) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      hash ^= eET_.GetHashCode();
      hash ^= notEET_.GetHashCode();
      if (SuggestedPower != 0) hash ^= SuggestedPower.GetHashCode();
      if (RecommendBuildRank != 0) hash ^= RecommendBuildRank.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (PreLevelId != 0) hash ^= PreLevelId.GetHashCode();
      if (NeedWorldClass != 0) hash ^= NeedWorldClass.GetHashCode();
      if (FirstQuestGroupId != 0) hash ^= FirstQuestGroupId.GetHashCode();
      if (LevelGroupId != 0) hash ^= LevelGroupId.GetHashCode();
      if (FloorId != 0) hash ^= FloorId.GetHashCode();
      if (NormalScore1 != 0) hash ^= NormalScore1.GetHashCode();
      if (EliteScore1 != 0) hash ^= EliteScore1.GetHashCode();
      if (BossScore1 != 0) hash ^= BossScore1.GetHashCode();
      if (TimeScore1 != 0) hash ^= TimeScore1.GetHashCode();
      if (TimeLimit1 != 0) hash ^= TimeLimit1.GetHashCode();
      if (NormalScore2 != 0) hash ^= NormalScore2.GetHashCode();
      if (EliteScore2 != 0) hash ^= EliteScore2.GetHashCode();
      if (BossScore2 != 0) hash ^= BossScore2.GetHashCode();
      if (TimeScore2 != 0) hash ^= TimeScore2.GetHashCode();
      if (TimeLimit2 != 0) hash ^= TimeLimit2.GetHashCode();
      hash ^= eETScore1_.GetHashCode();
      hash ^= eETScore2_.GetHashCode();
      if (FHPreviewMonsterGroupId != 0) hash ^= FHPreviewMonsterGroupId.GetHashCode();
      if (SHPreviewMonsterGroupId != 0) hash ^= SHPreviewMonsterGroupId.GetHashCode();
      if (CoverEpisode.Length != 0) hash ^= CoverEpisode.GetHashCode();
      if (Episode.Length != 0) hash ^= Episode.GetHashCode();
      if (Episode2.Length != 0) hash ^= Episode2.GetHashCode();
      hash ^= fateCardBundle_.GetHashCode();
      if (SpeciaFateCard.Length != 0) hash ^= SpeciaFateCard.GetHashCode();
      if (SpeciaFateCardParam.Length != 0) hash ^= SpeciaFateCardParam.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      eET_.WriteTo(output, _repeated_eET_codec);
      notEET_.WriteTo(output, _repeated_notEET_codec);
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RecommendBuildRank);
      }
      if (Type != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Type);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(PreLevelId);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(NeedWorldClass);
      }
      if (FirstQuestGroupId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FirstQuestGroupId);
      }
      if (LevelGroupId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(LevelGroupId);
      }
      if (FloorId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(FloorId);
      }
      if (NormalScore1 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(NormalScore1);
      }
      if (EliteScore1 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(EliteScore1);
      }
      if (BossScore1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(BossScore1);
      }
      if (TimeScore1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(TimeScore1);
      }
      if (TimeLimit1 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(TimeLimit1);
      }
      if (NormalScore2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(NormalScore2);
      }
      if (EliteScore2 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(EliteScore2);
      }
      if (BossScore2 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(BossScore2);
      }
      if (TimeScore2 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(TimeScore2);
      }
      if (TimeLimit2 != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(TimeLimit2);
      }
      eETScore1_.WriteTo(output, _repeated_eETScore1_codec);
      eETScore2_.WriteTo(output, _repeated_eETScore2_codec);
      if (FHPreviewMonsterGroupId != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(FHPreviewMonsterGroupId);
      }
      if (SHPreviewMonsterGroupId != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(SHPreviewMonsterGroupId);
      }
      if (CoverEpisode.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(CoverEpisode);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(Episode);
      }
      if (Episode2.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(Episode2);
      }
      fateCardBundle_.WriteTo(output, _repeated_fateCardBundle_codec);
      if (SpeciaFateCard.Length != 0) {
        output.WriteRawTag(130, 2);
        output.WriteString(SpeciaFateCard);
      }
      if (SpeciaFateCardParam.Length != 0) {
        output.WriteRawTag(138, 2);
        output.WriteString(SpeciaFateCardParam);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      eET_.WriteTo(ref output, _repeated_eET_codec);
      notEET_.WriteTo(ref output, _repeated_notEET_codec);
      if (SuggestedPower != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(SuggestedPower);
      }
      if (RecommendBuildRank != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RecommendBuildRank);
      }
      if (Type != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Type);
      }
      if (PreLevelId != 0) {
        output.WriteRawTag(72);
        output.WriteInt32(PreLevelId);
      }
      if (NeedWorldClass != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(NeedWorldClass);
      }
      if (FirstQuestGroupId != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(FirstQuestGroupId);
      }
      if (LevelGroupId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(LevelGroupId);
      }
      if (FloorId != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(FloorId);
      }
      if (NormalScore1 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(NormalScore1);
      }
      if (EliteScore1 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(EliteScore1);
      }
      if (BossScore1 != 0) {
        output.WriteRawTag(128, 1);
        output.WriteInt32(BossScore1);
      }
      if (TimeScore1 != 0) {
        output.WriteRawTag(136, 1);
        output.WriteInt32(TimeScore1);
      }
      if (TimeLimit1 != 0) {
        output.WriteRawTag(144, 1);
        output.WriteInt32(TimeLimit1);
      }
      if (NormalScore2 != 0) {
        output.WriteRawTag(152, 1);
        output.WriteInt32(NormalScore2);
      }
      if (EliteScore2 != 0) {
        output.WriteRawTag(160, 1);
        output.WriteInt32(EliteScore2);
      }
      if (BossScore2 != 0) {
        output.WriteRawTag(168, 1);
        output.WriteInt32(BossScore2);
      }
      if (TimeScore2 != 0) {
        output.WriteRawTag(176, 1);
        output.WriteInt32(TimeScore2);
      }
      if (TimeLimit2 != 0) {
        output.WriteRawTag(184, 1);
        output.WriteInt32(TimeLimit2);
      }
      eETScore1_.WriteTo(ref output, _repeated_eETScore1_codec);
      eETScore2_.WriteTo(ref output, _repeated_eETScore2_codec);
      if (FHPreviewMonsterGroupId != 0) {
        output.WriteRawTag(208, 1);
        output.WriteInt32(FHPreviewMonsterGroupId);
      }
      if (SHPreviewMonsterGroupId != 0) {
        output.WriteRawTag(216, 1);
        output.WriteInt32(SHPreviewMonsterGroupId);
      }
      if (CoverEpisode.Length != 0) {
        output.WriteRawTag(226, 1);
        output.WriteString(CoverEpisode);
      }
      if (Episode.Length != 0) {
        output.WriteRawTag(234, 1);
        output.WriteString(Episode);
      }
      if (Episode2.Length != 0) {
        output.WriteRawTag(242, 1);
        output.WriteString(Episode2);
      }
      fateCardBundle_.WriteTo(ref output, _repeated_fateCardBundle_codec);
      if (SpeciaFateCard.Length != 0) {
        output.WriteRawTag(130, 2);
        output.WriteString(SpeciaFateCard);
      }
      if (SpeciaFateCardParam.Length != 0) {
        output.WriteRawTag(138, 2);
        output.WriteString(SpeciaFateCardParam);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      size += eET_.CalculateSize(_repeated_eET_codec);
      size += notEET_.CalculateSize(_repeated_notEET_codec);
      if (SuggestedPower != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(SuggestedPower);
      }
      if (RecommendBuildRank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RecommendBuildRank);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (PreLevelId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(PreLevelId);
      }
      if (NeedWorldClass != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NeedWorldClass);
      }
      if (FirstQuestGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FirstQuestGroupId);
      }
      if (LevelGroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(LevelGroupId);
      }
      if (FloorId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(FloorId);
      }
      if (NormalScore1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(NormalScore1);
      }
      if (EliteScore1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EliteScore1);
      }
      if (BossScore1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(BossScore1);
      }
      if (TimeScore1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TimeScore1);
      }
      if (TimeLimit1 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TimeLimit1);
      }
      if (NormalScore2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(NormalScore2);
      }
      if (EliteScore2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(EliteScore2);
      }
      if (BossScore2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(BossScore2);
      }
      if (TimeScore2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TimeScore2);
      }
      if (TimeLimit2 != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(TimeLimit2);
      }
      size += eETScore1_.CalculateSize(_repeated_eETScore1_codec);
      size += eETScore2_.CalculateSize(_repeated_eETScore2_codec);
      if (FHPreviewMonsterGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(FHPreviewMonsterGroupId);
      }
      if (SHPreviewMonsterGroupId != 0) {
        size += 2 + pb::CodedOutputStream.ComputeInt32Size(SHPreviewMonsterGroupId);
      }
      if (CoverEpisode.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(CoverEpisode);
      }
      if (Episode.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Episode);
      }
      if (Episode2.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(Episode2);
      }
      size += fateCardBundle_.CalculateSize(_repeated_fateCardBundle_codec);
      if (SpeciaFateCard.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(SpeciaFateCard);
      }
      if (SpeciaFateCardParam.Length != 0) {
        size += 2 + pb::CodedOutputStream.ComputeStringSize(SpeciaFateCardParam);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireSurvivor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      eET_.Add(other.eET_);
      notEET_.Add(other.notEET_);
      if (other.SuggestedPower != 0) {
        SuggestedPower = other.SuggestedPower;
      }
      if (other.RecommendBuildRank != 0) {
        RecommendBuildRank = other.RecommendBuildRank;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.PreLevelId != 0) {
        PreLevelId = other.PreLevelId;
      }
      if (other.NeedWorldClass != 0) {
        NeedWorldClass = other.NeedWorldClass;
      }
      if (other.FirstQuestGroupId != 0) {
        FirstQuestGroupId = other.FirstQuestGroupId;
      }
      if (other.LevelGroupId != 0) {
        LevelGroupId = other.LevelGroupId;
      }
      if (other.FloorId != 0) {
        FloorId = other.FloorId;
      }
      if (other.NormalScore1 != 0) {
        NormalScore1 = other.NormalScore1;
      }
      if (other.EliteScore1 != 0) {
        EliteScore1 = other.EliteScore1;
      }
      if (other.BossScore1 != 0) {
        BossScore1 = other.BossScore1;
      }
      if (other.TimeScore1 != 0) {
        TimeScore1 = other.TimeScore1;
      }
      if (other.TimeLimit1 != 0) {
        TimeLimit1 = other.TimeLimit1;
      }
      if (other.NormalScore2 != 0) {
        NormalScore2 = other.NormalScore2;
      }
      if (other.EliteScore2 != 0) {
        EliteScore2 = other.EliteScore2;
      }
      if (other.BossScore2 != 0) {
        BossScore2 = other.BossScore2;
      }
      if (other.TimeScore2 != 0) {
        TimeScore2 = other.TimeScore2;
      }
      if (other.TimeLimit2 != 0) {
        TimeLimit2 = other.TimeLimit2;
      }
      eETScore1_.Add(other.eETScore1_);
      eETScore2_.Add(other.eETScore2_);
      if (other.FHPreviewMonsterGroupId != 0) {
        FHPreviewMonsterGroupId = other.FHPreviewMonsterGroupId;
      }
      if (other.SHPreviewMonsterGroupId != 0) {
        SHPreviewMonsterGroupId = other.SHPreviewMonsterGroupId;
      }
      if (other.CoverEpisode.Length != 0) {
        CoverEpisode = other.CoverEpisode;
      }
      if (other.Episode.Length != 0) {
        Episode = other.Episode;
      }
      if (other.Episode2.Length != 0) {
        Episode2 = other.Episode2;
      }
      fateCardBundle_.Add(other.fateCardBundle_);
      if (other.SpeciaFateCard.Length != 0) {
        SpeciaFateCard = other.SpeciaFateCard;
      }
      if (other.SpeciaFateCardParam.Length != 0) {
        SpeciaFateCardParam = other.SpeciaFateCardParam;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            eET_.AddEntriesFrom(input, _repeated_eET_codec);
            break;
          }
          case 42:
          case 40: {
            notEET_.AddEntriesFrom(input, _repeated_notEET_codec);
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
          case 64: {
            Type = input.ReadInt32();
            break;
          }
          case 72: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 80: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 88: {
            FirstQuestGroupId = input.ReadInt32();
            break;
          }
          case 96: {
            LevelGroupId = input.ReadInt32();
            break;
          }
          case 104: {
            FloorId = input.ReadInt32();
            break;
          }
          case 112: {
            NormalScore1 = input.ReadInt32();
            break;
          }
          case 120: {
            EliteScore1 = input.ReadInt32();
            break;
          }
          case 128: {
            BossScore1 = input.ReadInt32();
            break;
          }
          case 136: {
            TimeScore1 = input.ReadInt32();
            break;
          }
          case 144: {
            TimeLimit1 = input.ReadInt32();
            break;
          }
          case 152: {
            NormalScore2 = input.ReadInt32();
            break;
          }
          case 160: {
            EliteScore2 = input.ReadInt32();
            break;
          }
          case 168: {
            BossScore2 = input.ReadInt32();
            break;
          }
          case 176: {
            TimeScore2 = input.ReadInt32();
            break;
          }
          case 184: {
            TimeLimit2 = input.ReadInt32();
            break;
          }
          case 194:
          case 192: {
            eETScore1_.AddEntriesFrom(input, _repeated_eETScore1_codec);
            break;
          }
          case 202:
          case 200: {
            eETScore2_.AddEntriesFrom(input, _repeated_eETScore2_codec);
            break;
          }
          case 208: {
            FHPreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 216: {
            SHPreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 226: {
            CoverEpisode = input.ReadString();
            break;
          }
          case 234: {
            Episode = input.ReadString();
            break;
          }
          case 242: {
            Episode2 = input.ReadString();
            break;
          }
          case 250:
          case 248: {
            fateCardBundle_.AddEntriesFrom(input, _repeated_fateCardBundle_codec);
            break;
          }
          case 258: {
            SpeciaFateCard = input.ReadString();
            break;
          }
          case 266: {
            SpeciaFateCardParam = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34:
          case 32: {
            eET_.AddEntriesFrom(ref input, _repeated_eET_codec);
            break;
          }
          case 42:
          case 40: {
            notEET_.AddEntriesFrom(ref input, _repeated_notEET_codec);
            break;
          }
          case 48: {
            SuggestedPower = input.ReadInt32();
            break;
          }
          case 56: {
            RecommendBuildRank = input.ReadInt32();
            break;
          }
          case 64: {
            Type = input.ReadInt32();
            break;
          }
          case 72: {
            PreLevelId = input.ReadInt32();
            break;
          }
          case 80: {
            NeedWorldClass = input.ReadInt32();
            break;
          }
          case 88: {
            FirstQuestGroupId = input.ReadInt32();
            break;
          }
          case 96: {
            LevelGroupId = input.ReadInt32();
            break;
          }
          case 104: {
            FloorId = input.ReadInt32();
            break;
          }
          case 112: {
            NormalScore1 = input.ReadInt32();
            break;
          }
          case 120: {
            EliteScore1 = input.ReadInt32();
            break;
          }
          case 128: {
            BossScore1 = input.ReadInt32();
            break;
          }
          case 136: {
            TimeScore1 = input.ReadInt32();
            break;
          }
          case 144: {
            TimeLimit1 = input.ReadInt32();
            break;
          }
          case 152: {
            NormalScore2 = input.ReadInt32();
            break;
          }
          case 160: {
            EliteScore2 = input.ReadInt32();
            break;
          }
          case 168: {
            BossScore2 = input.ReadInt32();
            break;
          }
          case 176: {
            TimeScore2 = input.ReadInt32();
            break;
          }
          case 184: {
            TimeLimit2 = input.ReadInt32();
            break;
          }
          case 194:
          case 192: {
            eETScore1_.AddEntriesFrom(ref input, _repeated_eETScore1_codec);
            break;
          }
          case 202:
          case 200: {
            eETScore2_.AddEntriesFrom(ref input, _repeated_eETScore2_codec);
            break;
          }
          case 208: {
            FHPreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 216: {
            SHPreviewMonsterGroupId = input.ReadInt32();
            break;
          }
          case 226: {
            CoverEpisode = input.ReadString();
            break;
          }
          case 234: {
            Episode = input.ReadString();
            break;
          }
          case 242: {
            Episode2 = input.ReadString();
            break;
          }
          case 250:
          case 248: {
            fateCardBundle_.AddEntriesFrom(ref input, _repeated_fateCardBundle_codec);
            break;
          }
          case 258: {
            SpeciaFateCard = input.ReadString();
            break;
          }
          case 266: {
            SpeciaFateCardParam = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireSurvivor : pb::IMessage<table_VampireSurvivor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireSurvivor> _parser = new pb::MessageParser<table_VampireSurvivor>(() => new table_VampireSurvivor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireSurvivor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[515]; }
    }

    [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 table_VampireSurvivor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireSurvivor(table_VampireSurvivor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireSurvivor Clone() {
      return new table_VampireSurvivor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireSurvivor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireSurvivor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireSurvivor> list_ = new pbc::RepeatedField<global::Nova.Client.VampireSurvivor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireSurvivor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireSurvivor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireSurvivor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireSurvivor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireSurvivorLevel : pb::IMessage<VampireSurvivorLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireSurvivorLevel> _parser = new pb::MessageParser<VampireSurvivorLevel>(() => new VampireSurvivorLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireSurvivorLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[516]; }
    }

    [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 VampireSurvivorLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireSurvivorLevel(VampireSurvivorLevel other) : this() {
      groupID_ = other.groupID_;
      level_ = other.level_;
      exp_ = other.exp_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireSurvivorLevel Clone() {
      return new VampireSurvivorLevel(this);
    }

    /// <summary>Field number for the "GroupID" field.</summary>
    public const int GroupIDFieldNumber = 1;
    private int groupID_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupID {
      get { return groupID_; }
      set {
        groupID_ = value;
      }
    }

    /// <summary>Field number for the "Level" field.</summary>
    public const int LevelFieldNumber = 2;
    private int level_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Level {
      get { return level_; }
      set {
        level_ = value;
      }
    }

    /// <summary>Field number for the "Exp" field.</summary>
    public const int ExpFieldNumber = 3;
    private int exp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Exp {
      get { return exp_; }
      set {
        exp_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireSurvivorLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireSurvivorLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (GroupID != other.GroupID) return false;
      if (Level != other.Level) return false;
      if (Exp != other.Exp) 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 (GroupID != 0) hash ^= GroupID.GetHashCode();
      if (Level != 0) hash ^= Level.GetHashCode();
      if (Exp != 0) hash ^= Exp.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 (GroupID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GroupID);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Level);
      }
      if (Exp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Exp);
      }
      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 (GroupID != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(GroupID);
      }
      if (Level != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Level);
      }
      if (Exp != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Exp);
      }
      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 (GroupID != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupID);
      }
      if (Level != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Level);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireSurvivorLevel other) {
      if (other == null) {
        return;
      }
      if (other.GroupID != 0) {
        GroupID = other.GroupID;
      }
      if (other.Level != 0) {
        Level = other.Level;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      _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: {
            GroupID = input.ReadInt32();
            break;
          }
          case 16: {
            Level = input.ReadInt32();
            break;
          }
          case 24: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            GroupID = input.ReadInt32();
            break;
          }
          case 16: {
            Level = input.ReadInt32();
            break;
          }
          case 24: {
            Exp = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireSurvivorLevel : pb::IMessage<table_VampireSurvivorLevel>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireSurvivorLevel> _parser = new pb::MessageParser<table_VampireSurvivorLevel>(() => new table_VampireSurvivorLevel());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireSurvivorLevel> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[517]; }
    }

    [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 table_VampireSurvivorLevel() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireSurvivorLevel(table_VampireSurvivorLevel other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireSurvivorLevel Clone() {
      return new table_VampireSurvivorLevel(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireSurvivorLevel> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireSurvivorLevel.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireSurvivorLevel> list_ = new pbc::RepeatedField<global::Nova.Client.VampireSurvivorLevel>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireSurvivorLevel> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireSurvivorLevel);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireSurvivorLevel other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireSurvivorLevel other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireSurvivorQuest : pb::IMessage<VampireSurvivorQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireSurvivorQuest> _parser = new pb::MessageParser<VampireSurvivorQuest>(() => new VampireSurvivorQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireSurvivorQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[518]; }
    }

    [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 VampireSurvivorQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireSurvivorQuest(VampireSurvivorQuest other) : this() {
      id_ = other.id_;
      groupId_ = other.groupId_;
      title_ = other.title_;
      desc_ = other.desc_;
      jumpTo_ = other.jumpTo_;
      order_ = other.order_;
      type_ = other.type_;
      completeCond_ = other.completeCond_;
      completeCondParams_ = other.completeCondParams_;
      awardItemTid1_ = other.awardItemTid1_;
      awardItemNum1_ = other.awardItemNum1_;
      awardItemTid2_ = other.awardItemTid2_;
      awardItemNum2_ = other.awardItemNum2_;
      awardItemTid3_ = other.awardItemTid3_;
      awardItemNum3_ = other.awardItemNum3_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireSurvivorQuest Clone() {
      return new VampireSurvivorQuest(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "GroupId" field.</summary>
    public const int GroupIdFieldNumber = 2;
    private int groupId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int GroupId {
      get { return groupId_; }
      set {
        groupId_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 3;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 4;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "JumpTo" field.</summary>
    public const int JumpToFieldNumber = 5;
    private int jumpTo_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int JumpTo {
      get { return jumpTo_; }
      set {
        jumpTo_ = value;
      }
    }

    /// <summary>Field number for the "Order" field.</summary>
    public const int OrderFieldNumber = 6;
    private int order_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Order {
      get { return order_; }
      set {
        order_ = value;
      }
    }

    /// <summary>Field number for the "Type" field.</summary>
    public const int TypeFieldNumber = 7;
    private int type_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Type {
      get { return type_; }
      set {
        type_ = value;
      }
    }

    /// <summary>Field number for the "CompleteCond" field.</summary>
    public const int CompleteCondFieldNumber = 8;
    private int completeCond_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CompleteCond {
      get { return completeCond_; }
      set {
        completeCond_ = value;
      }
    }

    /// <summary>Field number for the "CompleteCondParams" field.</summary>
    public const int CompleteCondParamsFieldNumber = 9;
    private string completeCondParams_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string CompleteCondParams {
      get { return completeCondParams_; }
      set {
        completeCondParams_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "AwardItemTid1" field.</summary>
    public const int AwardItemTid1FieldNumber = 10;
    private int awardItemTid1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid1 {
      get { return awardItemTid1_; }
      set {
        awardItemTid1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum1" field.</summary>
    public const int AwardItemNum1FieldNumber = 11;
    private int awardItemNum1_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum1 {
      get { return awardItemNum1_; }
      set {
        awardItemNum1_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid2" field.</summary>
    public const int AwardItemTid2FieldNumber = 12;
    private int awardItemTid2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid2 {
      get { return awardItemTid2_; }
      set {
        awardItemTid2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum2" field.</summary>
    public const int AwardItemNum2FieldNumber = 13;
    private int awardItemNum2_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum2 {
      get { return awardItemNum2_; }
      set {
        awardItemNum2_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemTid3" field.</summary>
    public const int AwardItemTid3FieldNumber = 14;
    private int awardItemTid3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemTid3 {
      get { return awardItemTid3_; }
      set {
        awardItemTid3_ = value;
      }
    }

    /// <summary>Field number for the "AwardItemNum3" field.</summary>
    public const int AwardItemNum3FieldNumber = 15;
    private int awardItemNum3_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int AwardItemNum3 {
      get { return awardItemNum3_; }
      set {
        awardItemNum3_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireSurvivorQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireSurvivorQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (GroupId != other.GroupId) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (JumpTo != other.JumpTo) return false;
      if (Order != other.Order) return false;
      if (Type != other.Type) return false;
      if (CompleteCond != other.CompleteCond) return false;
      if (CompleteCondParams != other.CompleteCondParams) return false;
      if (AwardItemTid1 != other.AwardItemTid1) return false;
      if (AwardItemNum1 != other.AwardItemNum1) return false;
      if (AwardItemTid2 != other.AwardItemTid2) return false;
      if (AwardItemNum2 != other.AwardItemNum2) return false;
      if (AwardItemTid3 != other.AwardItemTid3) return false;
      if (AwardItemNum3 != other.AwardItemNum3) 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 (GroupId != 0) hash ^= GroupId.GetHashCode();
      if (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (JumpTo != 0) hash ^= JumpTo.GetHashCode();
      if (Order != 0) hash ^= Order.GetHashCode();
      if (Type != 0) hash ^= Type.GetHashCode();
      if (CompleteCond != 0) hash ^= CompleteCond.GetHashCode();
      if (CompleteCondParams.Length != 0) hash ^= CompleteCondParams.GetHashCode();
      if (AwardItemTid1 != 0) hash ^= AwardItemTid1.GetHashCode();
      if (AwardItemNum1 != 0) hash ^= AwardItemNum1.GetHashCode();
      if (AwardItemTid2 != 0) hash ^= AwardItemTid2.GetHashCode();
      if (AwardItemNum2 != 0) hash ^= AwardItemNum2.GetHashCode();
      if (AwardItemTid3 != 0) hash ^= AwardItemTid3.GetHashCode();
      if (AwardItemNum3 != 0) hash ^= AwardItemNum3.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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Order);
      }
      if (Type != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Type);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AwardItemNum3);
      }
      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.WriteInt32(Id);
      }
      if (GroupId != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(GroupId);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Desc);
      }
      if (JumpTo != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(JumpTo);
      }
      if (Order != 0) {
        output.WriteRawTag(48);
        output.WriteInt32(Order);
      }
      if (Type != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(Type);
      }
      if (CompleteCond != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        output.WriteRawTag(88);
        output.WriteInt32(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        output.WriteRawTag(104);
        output.WriteInt32(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        output.WriteRawTag(112);
        output.WriteInt32(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        output.WriteRawTag(120);
        output.WriteInt32(AwardItemNum3);
      }
      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.ComputeInt32Size(Id);
      }
      if (GroupId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(GroupId);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (JumpTo != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(JumpTo);
      }
      if (Order != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Order);
      }
      if (Type != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Type);
      }
      if (CompleteCond != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CompleteCond);
      }
      if (CompleteCondParams.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(CompleteCondParams);
      }
      if (AwardItemTid1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid1);
      }
      if (AwardItemNum1 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum1);
      }
      if (AwardItemTid2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid2);
      }
      if (AwardItemNum2 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum2);
      }
      if (AwardItemTid3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemTid3);
      }
      if (AwardItemNum3 != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(AwardItemNum3);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireSurvivorQuest other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.GroupId != 0) {
        GroupId = other.GroupId;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.JumpTo != 0) {
        JumpTo = other.JumpTo;
      }
      if (other.Order != 0) {
        Order = other.Order;
      }
      if (other.Type != 0) {
        Type = other.Type;
      }
      if (other.CompleteCond != 0) {
        CompleteCond = other.CompleteCond;
      }
      if (other.CompleteCondParams.Length != 0) {
        CompleteCondParams = other.CompleteCondParams;
      }
      if (other.AwardItemTid1 != 0) {
        AwardItemTid1 = other.AwardItemTid1;
      }
      if (other.AwardItemNum1 != 0) {
        AwardItemNum1 = other.AwardItemNum1;
      }
      if (other.AwardItemTid2 != 0) {
        AwardItemTid2 = other.AwardItemTid2;
      }
      if (other.AwardItemNum2 != 0) {
        AwardItemNum2 = other.AwardItemNum2;
      }
      if (other.AwardItemTid3 != 0) {
        AwardItemTid3 = other.AwardItemTid3;
      }
      if (other.AwardItemNum3 != 0) {
        AwardItemNum3 = other.AwardItemNum3;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 48: {
            Order = input.ReadInt32();
            break;
          }
          case 56: {
            Type = input.ReadInt32();
            break;
          }
          case 64: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 74: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 80: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 88: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 96: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 104: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardItemTid3 = input.ReadInt32();
            break;
          }
          case 120: {
            AwardItemNum3 = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            GroupId = input.ReadInt32();
            break;
          }
          case 26: {
            Title = input.ReadString();
            break;
          }
          case 34: {
            Desc = input.ReadString();
            break;
          }
          case 40: {
            JumpTo = input.ReadInt32();
            break;
          }
          case 48: {
            Order = input.ReadInt32();
            break;
          }
          case 56: {
            Type = input.ReadInt32();
            break;
          }
          case 64: {
            CompleteCond = input.ReadInt32();
            break;
          }
          case 74: {
            CompleteCondParams = input.ReadString();
            break;
          }
          case 80: {
            AwardItemTid1 = input.ReadInt32();
            break;
          }
          case 88: {
            AwardItemNum1 = input.ReadInt32();
            break;
          }
          case 96: {
            AwardItemTid2 = input.ReadInt32();
            break;
          }
          case 104: {
            AwardItemNum2 = input.ReadInt32();
            break;
          }
          case 112: {
            AwardItemTid3 = input.ReadInt32();
            break;
          }
          case 120: {
            AwardItemNum3 = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireSurvivorQuest : pb::IMessage<table_VampireSurvivorQuest>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireSurvivorQuest> _parser = new pb::MessageParser<table_VampireSurvivorQuest>(() => new table_VampireSurvivorQuest());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireSurvivorQuest> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[519]; }
    }

    [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 table_VampireSurvivorQuest() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireSurvivorQuest(table_VampireSurvivorQuest other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireSurvivorQuest Clone() {
      return new table_VampireSurvivorQuest(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireSurvivorQuest> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireSurvivorQuest.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireSurvivorQuest> list_ = new pbc::RepeatedField<global::Nova.Client.VampireSurvivorQuest>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireSurvivorQuest> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireSurvivorQuest);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireSurvivorQuest other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireSurvivorQuest other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireTalent : pb::IMessage<VampireTalent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireTalent> _parser = new pb::MessageParser<VampireTalent>(() => new VampireTalent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireTalent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[520]; }
    }

    [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 VampireTalent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireTalent(VampireTalent other) : this() {
      id_ = other.id_;
      name_ = other.name_;
      descTag_ = other.descTag_;
      param_ = other.param_;
      prev_ = other.prev_.Clone();
      isServer_ = other.isServer_;
      isClient_ = other.isClient_;
      effect_ = other.effect_;
      params_ = other.params_;
      point_ = other.point_;
      icon_ = other.icon_;
      effectId_ = other.effectId_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireTalent Clone() {
      return new VampireTalent(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Name" field.</summary>
    public const int NameFieldNumber = 2;
    private string name_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Name {
      get { return name_; }
      set {
        name_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "DescTag" field.</summary>
    public const int DescTagFieldNumber = 3;
    private int descTag_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DescTag {
      get { return descTag_; }
      set {
        descTag_ = value;
      }
    }

    /// <summary>Field number for the "Param" field.</summary>
    public const int ParamFieldNumber = 4;
    private int param_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Param {
      get { return param_; }
      set {
        param_ = value;
      }
    }

    /// <summary>Field number for the "Prev" field.</summary>
    public const int PrevFieldNumber = 5;
    private static readonly pb::FieldCodec<int> _repeated_prev_codec
        = pb::FieldCodec.ForInt32(42);
    private readonly pbc::RepeatedField<int> prev_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> Prev {
      get { return prev_; }
    }

    /// <summary>Field number for the "IsServer" field.</summary>
    public const int IsServerFieldNumber = 6;
    private bool isServer_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsServer {
      get { return isServer_; }
      set {
        isServer_ = value;
      }
    }

    /// <summary>Field number for the "IsClient" field.</summary>
    public const int IsClientFieldNumber = 7;
    private bool isClient_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool IsClient {
      get { return isClient_; }
      set {
        isClient_ = value;
      }
    }

    /// <summary>Field number for the "Effect" field.</summary>
    public const int EffectFieldNumber = 8;
    private int effect_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Effect {
      get { return effect_; }
      set {
        effect_ = value;
      }
    }

    /// <summary>Field number for the "Params" field.</summary>
    public const int ParamsFieldNumber = 9;
    private string params_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Params {
      get { return params_; }
      set {
        params_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Point" field.</summary>
    public const int PointFieldNumber = 10;
    private int point_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Point {
      get { return point_; }
      set {
        point_ = value;
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 11;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "EffectId" field.</summary>
    public const int EffectIdFieldNumber = 12;
    private int effectId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int EffectId {
      get { return effectId_; }
      set {
        effectId_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireTalent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireTalent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Name != other.Name) return false;
      if (DescTag != other.DescTag) return false;
      if (Param != other.Param) return false;
      if(!prev_.Equals(other.prev_)) return false;
      if (IsServer != other.IsServer) return false;
      if (IsClient != other.IsClient) return false;
      if (Effect != other.Effect) return false;
      if (Params != other.Params) return false;
      if (Point != other.Point) return false;
      if (Icon != other.Icon) return false;
      if (EffectId != other.EffectId) 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 (Name.Length != 0) hash ^= Name.GetHashCode();
      if (DescTag != 0) hash ^= DescTag.GetHashCode();
      if (Param != 0) hash ^= Param.GetHashCode();
      hash ^= prev_.GetHashCode();
      if (IsServer != false) hash ^= IsServer.GetHashCode();
      if (IsClient != false) hash ^= IsClient.GetHashCode();
      if (Effect != 0) hash ^= Effect.GetHashCode();
      if (Params.Length != 0) hash ^= Params.GetHashCode();
      if (Point != 0) hash ^= Point.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (EffectId != 0) hash ^= EffectId.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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (DescTag != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DescTag);
      }
      if (Param != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Param);
      }
      prev_.WriteTo(output, _repeated_prev_codec);
      if (IsServer != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsServer);
      }
      if (IsClient != false) {
        output.WriteRawTag(56);
        output.WriteBool(IsClient);
      }
      if (Effect != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Effect);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Params);
      }
      if (Point != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Point);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Icon);
      }
      if (EffectId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(EffectId);
      }
      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.WriteInt32(Id);
      }
      if (Name.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Name);
      }
      if (DescTag != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(DescTag);
      }
      if (Param != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Param);
      }
      prev_.WriteTo(ref output, _repeated_prev_codec);
      if (IsServer != false) {
        output.WriteRawTag(48);
        output.WriteBool(IsServer);
      }
      if (IsClient != false) {
        output.WriteRawTag(56);
        output.WriteBool(IsClient);
      }
      if (Effect != 0) {
        output.WriteRawTag(64);
        output.WriteInt32(Effect);
      }
      if (Params.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Params);
      }
      if (Point != 0) {
        output.WriteRawTag(80);
        output.WriteInt32(Point);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Icon);
      }
      if (EffectId != 0) {
        output.WriteRawTag(96);
        output.WriteInt32(EffectId);
      }
      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.ComputeInt32Size(Id);
      }
      if (Name.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Name);
      }
      if (DescTag != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DescTag);
      }
      if (Param != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Param);
      }
      size += prev_.CalculateSize(_repeated_prev_codec);
      if (IsServer != false) {
        size += 1 + 1;
      }
      if (IsClient != false) {
        size += 1 + 1;
      }
      if (Effect != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Effect);
      }
      if (Params.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Params);
      }
      if (Point != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Point);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (EffectId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(EffectId);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireTalent other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Name.Length != 0) {
        Name = other.Name;
      }
      if (other.DescTag != 0) {
        DescTag = other.DescTag;
      }
      if (other.Param != 0) {
        Param = other.Param;
      }
      prev_.Add(other.prev_);
      if (other.IsServer != false) {
        IsServer = other.IsServer;
      }
      if (other.IsClient != false) {
        IsClient = other.IsClient;
      }
      if (other.Effect != 0) {
        Effect = other.Effect;
      }
      if (other.Params.Length != 0) {
        Params = other.Params;
      }
      if (other.Point != 0) {
        Point = other.Point;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.EffectId != 0) {
        EffectId = other.EffectId;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            DescTag = input.ReadInt32();
            break;
          }
          case 32: {
            Param = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            prev_.AddEntriesFrom(input, _repeated_prev_codec);
            break;
          }
          case 48: {
            IsServer = input.ReadBool();
            break;
          }
          case 56: {
            IsClient = input.ReadBool();
            break;
          }
          case 64: {
            Effect = input.ReadInt32();
            break;
          }
          case 74: {
            Params = input.ReadString();
            break;
          }
          case 80: {
            Point = input.ReadInt32();
            break;
          }
          case 90: {
            Icon = input.ReadString();
            break;
          }
          case 96: {
            EffectId = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Name = input.ReadString();
            break;
          }
          case 24: {
            DescTag = input.ReadInt32();
            break;
          }
          case 32: {
            Param = input.ReadInt32();
            break;
          }
          case 42:
          case 40: {
            prev_.AddEntriesFrom(ref input, _repeated_prev_codec);
            break;
          }
          case 48: {
            IsServer = input.ReadBool();
            break;
          }
          case 56: {
            IsClient = input.ReadBool();
            break;
          }
          case 64: {
            Effect = input.ReadInt32();
            break;
          }
          case 74: {
            Params = input.ReadString();
            break;
          }
          case 80: {
            Point = input.ReadInt32();
            break;
          }
          case 90: {
            Icon = input.ReadString();
            break;
          }
          case 96: {
            EffectId = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireTalent : pb::IMessage<table_VampireTalent>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireTalent> _parser = new pb::MessageParser<table_VampireTalent>(() => new table_VampireTalent());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireTalent> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[521]; }
    }

    [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 table_VampireTalent() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireTalent(table_VampireTalent other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireTalent Clone() {
      return new table_VampireTalent(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireTalent> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireTalent.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireTalent> list_ = new pbc::RepeatedField<global::Nova.Client.VampireTalent>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireTalent> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireTalent);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireTalent other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireTalent other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireTalentDesc : pb::IMessage<VampireTalentDesc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireTalentDesc> _parser = new pb::MessageParser<VampireTalentDesc>(() => new VampireTalentDesc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireTalentDesc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[522]; }
    }

    [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 VampireTalentDesc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireTalentDesc(VampireTalentDesc other) : this() {
      id_ = other.id_;
      num_ = other.num_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireTalentDesc Clone() {
      return new VampireTalentDesc(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Num" field.</summary>
    public const int NumFieldNumber = 2;
    private string num_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Num {
      get { return num_; }
      set {
        num_ = 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 VampireTalentDesc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireTalentDesc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Num != other.Num) 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 (Num.Length != 0) hash ^= Num.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.WriteInt32(Id);
      }
      if (Num.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Num);
      }
      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.WriteInt32(Id);
      }
      if (Num.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Num);
      }
      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.ComputeInt32Size(Id);
      }
      if (Num.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Num);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireTalentDesc other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Num.Length != 0) {
        Num = other.Num;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Num = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Num = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireTalentDesc : pb::IMessage<table_VampireTalentDesc>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireTalentDesc> _parser = new pb::MessageParser<table_VampireTalentDesc>(() => new table_VampireTalentDesc());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireTalentDesc> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[523]; }
    }

    [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 table_VampireTalentDesc() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireTalentDesc(table_VampireTalentDesc other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireTalentDesc Clone() {
      return new table_VampireTalentDesc(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireTalentDesc> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireTalentDesc.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireTalentDesc> list_ = new pbc::RepeatedField<global::Nova.Client.VampireTalentDesc>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireTalentDesc> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireTalentDesc);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireTalentDesc other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireTalentDesc other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VampireTalentFloor : pb::IMessage<VampireTalentFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VampireTalentFloor> _parser = new pb::MessageParser<VampireTalentFloor>(() => new VampireTalentFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VampireTalentFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[524]; }
    }

    [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 VampireTalentFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireTalentFloor(VampireTalentFloor other) : this() {
      id_ = other.id_;
      num_ = other.num_;
      talentId_ = other.talentId_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VampireTalentFloor Clone() {
      return new VampireTalentFloor(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Num" field.</summary>
    public const int NumFieldNumber = 2;
    private int num_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Num {
      get { return num_; }
      set {
        num_ = value;
      }
    }

    /// <summary>Field number for the "TalentId" field.</summary>
    public const int TalentIdFieldNumber = 3;
    private static readonly pb::FieldCodec<int> _repeated_talentId_codec
        = pb::FieldCodec.ForInt32(26);
    private readonly pbc::RepeatedField<int> talentId_ = new pbc::RepeatedField<int>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<int> TalentId {
      get { return talentId_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as VampireTalentFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VampireTalentFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Num != other.Num) return false;
      if(!talentId_.Equals(other.talentId_)) 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 (Num != 0) hash ^= Num.GetHashCode();
      hash ^= talentId_.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.WriteInt32(Id);
      }
      if (Num != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Num);
      }
      talentId_.WriteTo(output, _repeated_talentId_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      if (Id != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Id);
      }
      if (Num != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Num);
      }
      talentId_.WriteTo(ref output, _repeated_talentId_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      if (Id != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Id);
      }
      if (Num != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Num);
      }
      size += talentId_.CalculateSize(_repeated_talentId_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VampireTalentFloor other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Num != 0) {
        Num = other.Num;
      }
      talentId_.Add(other.talentId_);
      _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.ReadInt32();
            break;
          }
          case 16: {
            Num = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            talentId_.AddEntriesFrom(input, _repeated_talentId_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Num = input.ReadInt32();
            break;
          }
          case 26:
          case 24: {
            talentId_.AddEntriesFrom(ref input, _repeated_talentId_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VampireTalentFloor : pb::IMessage<table_VampireTalentFloor>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VampireTalentFloor> _parser = new pb::MessageParser<table_VampireTalentFloor>(() => new table_VampireTalentFloor());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VampireTalentFloor> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[525]; }
    }

    [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 table_VampireTalentFloor() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireTalentFloor(table_VampireTalentFloor other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VampireTalentFloor Clone() {
      return new table_VampireTalentFloor(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VampireTalentFloor> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VampireTalentFloor.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VampireTalentFloor> list_ = new pbc::RepeatedField<global::Nova.Client.VampireTalentFloor>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VampireTalentFloor> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VampireTalentFloor);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VampireTalentFloor other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VampireTalentFloor other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class VoDirectory : pb::IMessage<VoDirectory>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<VoDirectory> _parser = new pb::MessageParser<VoDirectory>(() => new VoDirectory());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<VoDirectory> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[526]; }
    }

    [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 VoDirectory() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VoDirectory(VoDirectory other) : this() {
      id_ = other.id_;
      voResource_ = other.voResource_;
      characterId_ = other.characterId_;
      votype_ = other.votype_;
      lines_ = other.lines_;
      motion_ = other.motion_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public VoDirectory Clone() {
      return new VoDirectory(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "voResource" field.</summary>
    public const int VoResourceFieldNumber = 2;
    private string voResource_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string VoResource {
      get { return voResource_; }
      set {
        voResource_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "characterId" field.</summary>
    public const int CharacterIdFieldNumber = 3;
    private int characterId_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CharacterId {
      get { return characterId_; }
      set {
        characterId_ = value;
      }
    }

    /// <summary>Field number for the "votype" field.</summary>
    public const int VotypeFieldNumber = 4;
    private string votype_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Votype {
      get { return votype_; }
      set {
        votype_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "lines" field.</summary>
    public const int LinesFieldNumber = 5;
    private string lines_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Lines {
      get { return lines_; }
      set {
        lines_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "motion" field.</summary>
    public const int MotionFieldNumber = 6;
    private string motion_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Motion {
      get { return motion_; }
      set {
        motion_ = 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 VoDirectory);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(VoDirectory other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (VoResource != other.VoResource) return false;
      if (CharacterId != other.CharacterId) return false;
      if (Votype != other.Votype) return false;
      if (Lines != other.Lines) return false;
      if (Motion != other.Motion) 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 (VoResource.Length != 0) hash ^= VoResource.GetHashCode();
      if (CharacterId != 0) hash ^= CharacterId.GetHashCode();
      if (Votype.Length != 0) hash ^= Votype.GetHashCode();
      if (Lines.Length != 0) hash ^= Lines.GetHashCode();
      if (Motion.Length != 0) hash ^= Motion.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.WriteInt32(Id);
      }
      if (VoResource.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(VoResource);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CharacterId);
      }
      if (Votype.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Votype);
      }
      if (Lines.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Lines);
      }
      if (Motion.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Motion);
      }
      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.WriteInt32(Id);
      }
      if (VoResource.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(VoResource);
      }
      if (CharacterId != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(CharacterId);
      }
      if (Votype.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Votype);
      }
      if (Lines.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Lines);
      }
      if (Motion.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Motion);
      }
      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.ComputeInt32Size(Id);
      }
      if (VoResource.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(VoResource);
      }
      if (CharacterId != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(CharacterId);
      }
      if (Votype.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Votype);
      }
      if (Lines.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Lines);
      }
      if (Motion.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Motion);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(VoDirectory other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.VoResource.Length != 0) {
        VoResource = other.VoResource;
      }
      if (other.CharacterId != 0) {
        CharacterId = other.CharacterId;
      }
      if (other.Votype.Length != 0) {
        Votype = other.Votype;
      }
      if (other.Lines.Length != 0) {
        Lines = other.Lines;
      }
      if (other.Motion.Length != 0) {
        Motion = other.Motion;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            VoResource = input.ReadString();
            break;
          }
          case 24: {
            CharacterId = input.ReadInt32();
            break;
          }
          case 34: {
            Votype = input.ReadString();
            break;
          }
          case 42: {
            Lines = input.ReadString();
            break;
          }
          case 50: {
            Motion = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            VoResource = input.ReadString();
            break;
          }
          case 24: {
            CharacterId = input.ReadInt32();
            break;
          }
          case 34: {
            Votype = input.ReadString();
            break;
          }
          case 42: {
            Lines = input.ReadString();
            break;
          }
          case 50: {
            Motion = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_VoDirectory : pb::IMessage<table_VoDirectory>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_VoDirectory> _parser = new pb::MessageParser<table_VoDirectory>(() => new table_VoDirectory());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_VoDirectory> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[527]; }
    }

    [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 table_VoDirectory() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VoDirectory(table_VoDirectory other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_VoDirectory Clone() {
      return new table_VoDirectory(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.VoDirectory> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.VoDirectory.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.VoDirectory> list_ = new pbc::RepeatedField<global::Nova.Client.VoDirectory>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.VoDirectory> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_VoDirectory);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_VoDirectory other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_VoDirectory other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class WeightParameter : pb::IMessage<WeightParameter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<WeightParameter> _parser = new pb::MessageParser<WeightParameter>(() => new WeightParameter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<WeightParameter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[528]; }
    }

    [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 WeightParameter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WeightParameter(WeightParameter other) : this() {
      id_ = other.id_;
      proportion_ = other.proportion_;
      effect_ = other.effect_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WeightParameter Clone() {
      return new WeightParameter(this);
    }

    /// <summary>Field number for the "id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Proportion" field.</summary>
    public const int ProportionFieldNumber = 2;
    private int proportion_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Proportion {
      get { return proportion_; }
      set {
        proportion_ = value;
      }
    }

    /// <summary>Field number for the "effect" field.</summary>
    public const int EffectFieldNumber = 3;
    private int effect_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Effect {
      get { return effect_; }
      set {
        effect_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as WeightParameter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(WeightParameter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Proportion != other.Proportion) return false;
      if (Effect != other.Effect) 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 (Proportion != 0) hash ^= Proportion.GetHashCode();
      if (Effect != 0) hash ^= Effect.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.WriteInt32(Id);
      }
      if (Proportion != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Proportion);
      }
      if (Effect != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Effect);
      }
      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.WriteInt32(Id);
      }
      if (Proportion != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Proportion);
      }
      if (Effect != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Effect);
      }
      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.ComputeInt32Size(Id);
      }
      if (Proportion != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Proportion);
      }
      if (Effect != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Effect);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(WeightParameter other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Proportion != 0) {
        Proportion = other.Proportion;
      }
      if (other.Effect != 0) {
        Effect = other.Effect;
      }
      _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.ReadInt32();
            break;
          }
          case 16: {
            Proportion = input.ReadInt32();
            break;
          }
          case 24: {
            Effect = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 16: {
            Proportion = input.ReadInt32();
            break;
          }
          case 24: {
            Effect = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_WeightParameter : pb::IMessage<table_WeightParameter>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_WeightParameter> _parser = new pb::MessageParser<table_WeightParameter>(() => new table_WeightParameter());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_WeightParameter> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[529]; }
    }

    [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 table_WeightParameter() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_WeightParameter(table_WeightParameter other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_WeightParameter Clone() {
      return new table_WeightParameter(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.WeightParameter> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.WeightParameter.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.WeightParameter> list_ = new pbc::RepeatedField<global::Nova.Client.WeightParameter>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.WeightParameter> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_WeightParameter);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_WeightParameter other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_WeightParameter other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class Word : pb::IMessage<Word>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<Word> _parser = new pb::MessageParser<Word>(() => new Word());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<Word> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[530]; }
    }

    [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 Word() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Word(Word other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      desc_ = other.desc_;
      color_ = other.color_;
      icon_ = other.icon_;
      param1_ = other.param1_;
      param2_ = other.param2_;
      param3_ = other.param3_;
      param4_ = other.param4_;
      param5_ = other.param5_;
      param6_ = other.param6_;
      param7_ = other.param7_;
      param8_ = other.param8_;
      param9_ = other.param9_;
      param10_ = other.param10_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public Word Clone() {
      return new Word(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 3;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Color" field.</summary>
    public const int ColorFieldNumber = 4;
    private string color_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Color {
      get { return color_; }
      set {
        color_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 5;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 6;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 7;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 8;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 9;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param5" field.</summary>
    public const int Param5FieldNumber = 10;
    private string param5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param5 {
      get { return param5_; }
      set {
        param5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param6" field.</summary>
    public const int Param6FieldNumber = 11;
    private string param6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param6 {
      get { return param6_; }
      set {
        param6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param7" field.</summary>
    public const int Param7FieldNumber = 12;
    private string param7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param7 {
      get { return param7_; }
      set {
        param7_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param8" field.</summary>
    public const int Param8FieldNumber = 13;
    private string param8_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param8 {
      get { return param8_; }
      set {
        param8_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param9" field.</summary>
    public const int Param9FieldNumber = 14;
    private string param9_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param9 {
      get { return param9_; }
      set {
        param9_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param10" field.</summary>
    public const int Param10FieldNumber = 15;
    private string param10_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param10 {
      get { return param10_; }
      set {
        param10_ = 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 Word);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(Word other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Desc != other.Desc) return false;
      if (Color != other.Color) return false;
      if (Icon != other.Icon) return false;
      if (Param1 != other.Param1) return false;
      if (Param2 != other.Param2) return false;
      if (Param3 != other.Param3) return false;
      if (Param4 != other.Param4) return false;
      if (Param5 != other.Param5) return false;
      if (Param6 != other.Param6) return false;
      if (Param7 != other.Param7) return false;
      if (Param8 != other.Param8) return false;
      if (Param9 != other.Param9) return false;
      if (Param10 != other.Param10) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Color.Length != 0) hash ^= Color.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.GetHashCode();
      if (Param5.Length != 0) hash ^= Param5.GetHashCode();
      if (Param6.Length != 0) hash ^= Param6.GetHashCode();
      if (Param7.Length != 0) hash ^= Param7.GetHashCode();
      if (Param8.Length != 0) hash ^= Param8.GetHashCode();
      if (Param9.Length != 0) hash ^= Param9.GetHashCode();
      if (Param10.Length != 0) hash ^= Param10.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Color);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Param10);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Desc);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Color);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Icon);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Param10);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Color.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Color);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Param1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Param2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Param3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Param4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (Param5.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param5);
      }
      if (Param6.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param6);
      }
      if (Param7.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param7);
      }
      if (Param8.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param8);
      }
      if (Param9.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param9);
      }
      if (Param10.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param10);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(Word other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Color.Length != 0) {
        Color = other.Color;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      if (other.Param5.Length != 0) {
        Param5 = other.Param5;
      }
      if (other.Param6.Length != 0) {
        Param6 = other.Param6;
      }
      if (other.Param7.Length != 0) {
        Param7 = other.Param7;
      }
      if (other.Param8.Length != 0) {
        Param8 = other.Param8;
      }
      if (other.Param9.Length != 0) {
        Param9 = other.Param9;
      }
      if (other.Param10.Length != 0) {
        Param10 = other.Param10;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Color = input.ReadString();
            break;
          }
          case 42: {
            Icon = input.ReadString();
            break;
          }
          case 50: {
            Param1 = input.ReadString();
            break;
          }
          case 58: {
            Param2 = input.ReadString();
            break;
          }
          case 66: {
            Param3 = input.ReadString();
            break;
          }
          case 74: {
            Param4 = input.ReadString();
            break;
          }
          case 82: {
            Param5 = input.ReadString();
            break;
          }
          case 90: {
            Param6 = input.ReadString();
            break;
          }
          case 98: {
            Param7 = input.ReadString();
            break;
          }
          case 106: {
            Param8 = input.ReadString();
            break;
          }
          case 114: {
            Param9 = input.ReadString();
            break;
          }
          case 122: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Desc = input.ReadString();
            break;
          }
          case 34: {
            Color = input.ReadString();
            break;
          }
          case 42: {
            Icon = input.ReadString();
            break;
          }
          case 50: {
            Param1 = input.ReadString();
            break;
          }
          case 58: {
            Param2 = input.ReadString();
            break;
          }
          case 66: {
            Param3 = input.ReadString();
            break;
          }
          case 74: {
            Param4 = input.ReadString();
            break;
          }
          case 82: {
            Param5 = input.ReadString();
            break;
          }
          case 90: {
            Param6 = input.ReadString();
            break;
          }
          case 98: {
            Param7 = input.ReadString();
            break;
          }
          case 106: {
            Param8 = input.ReadString();
            break;
          }
          case 114: {
            Param9 = input.ReadString();
            break;
          }
          case 122: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_Word : pb::IMessage<table_Word>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_Word> _parser = new pb::MessageParser<table_Word>(() => new table_Word());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_Word> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[531]; }
    }

    [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 table_Word() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Word(table_Word other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_Word Clone() {
      return new table_Word(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.Word> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.Word.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.Word> list_ = new pbc::RepeatedField<global::Nova.Client.Word>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.Word> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_Word);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_Word other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_Word other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class WordSuper : pb::IMessage<WordSuper>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<WordSuper> _parser = new pb::MessageParser<WordSuper>(() => new WordSuper());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<WordSuper> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[532]; }
    }

    [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 WordSuper() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WordSuper(WordSuper other) : this() {
      id_ = other.id_;
      title_ = other.title_;
      color_ = other.color_;
      icon_ = other.icon_;
      desc_ = other.desc_;
      param1_ = other.param1_;
      param2_ = other.param2_;
      param3_ = other.param3_;
      param4_ = other.param4_;
      param5_ = other.param5_;
      param6_ = other.param6_;
      param7_ = other.param7_;
      param8_ = other.param8_;
      param9_ = other.param9_;
      param10_ = other.param10_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WordSuper Clone() {
      return new WordSuper(this);
    }

    /// <summary>Field number for the "Id" field.</summary>
    public const int IdFieldNumber = 1;
    private int id_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Id {
      get { return id_; }
      set {
        id_ = value;
      }
    }

    /// <summary>Field number for the "Title" field.</summary>
    public const int TitleFieldNumber = 2;
    private string title_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Title {
      get { return title_; }
      set {
        title_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Color" field.</summary>
    public const int ColorFieldNumber = 3;
    private string color_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Color {
      get { return color_; }
      set {
        color_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Icon" field.</summary>
    public const int IconFieldNumber = 4;
    private string icon_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Icon {
      get { return icon_; }
      set {
        icon_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Desc" field.</summary>
    public const int DescFieldNumber = 5;
    private string desc_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Desc {
      get { return desc_; }
      set {
        desc_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param1" field.</summary>
    public const int Param1FieldNumber = 6;
    private string param1_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param1 {
      get { return param1_; }
      set {
        param1_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param2" field.</summary>
    public const int Param2FieldNumber = 7;
    private string param2_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param2 {
      get { return param2_; }
      set {
        param2_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param3" field.</summary>
    public const int Param3FieldNumber = 8;
    private string param3_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param3 {
      get { return param3_; }
      set {
        param3_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param4" field.</summary>
    public const int Param4FieldNumber = 9;
    private string param4_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param4 {
      get { return param4_; }
      set {
        param4_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param5" field.</summary>
    public const int Param5FieldNumber = 10;
    private string param5_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param5 {
      get { return param5_; }
      set {
        param5_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param6" field.</summary>
    public const int Param6FieldNumber = 11;
    private string param6_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param6 {
      get { return param6_; }
      set {
        param6_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param7" field.</summary>
    public const int Param7FieldNumber = 12;
    private string param7_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param7 {
      get { return param7_; }
      set {
        param7_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param8" field.</summary>
    public const int Param8FieldNumber = 13;
    private string param8_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param8 {
      get { return param8_; }
      set {
        param8_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param9" field.</summary>
    public const int Param9FieldNumber = 14;
    private string param9_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param9 {
      get { return param9_; }
      set {
        param9_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "Param10" field.</summary>
    public const int Param10FieldNumber = 15;
    private string param10_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Param10 {
      get { return param10_; }
      set {
        param10_ = 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 WordSuper);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(WordSuper other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Id != other.Id) return false;
      if (Title != other.Title) return false;
      if (Color != other.Color) return false;
      if (Icon != other.Icon) return false;
      if (Desc != other.Desc) return false;
      if (Param1 != other.Param1) return false;
      if (Param2 != other.Param2) return false;
      if (Param3 != other.Param3) return false;
      if (Param4 != other.Param4) return false;
      if (Param5 != other.Param5) return false;
      if (Param6 != other.Param6) return false;
      if (Param7 != other.Param7) return false;
      if (Param8 != other.Param8) return false;
      if (Param9 != other.Param9) return false;
      if (Param10 != other.Param10) 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 (Title.Length != 0) hash ^= Title.GetHashCode();
      if (Color.Length != 0) hash ^= Color.GetHashCode();
      if (Icon.Length != 0) hash ^= Icon.GetHashCode();
      if (Desc.Length != 0) hash ^= Desc.GetHashCode();
      if (Param1.Length != 0) hash ^= Param1.GetHashCode();
      if (Param2.Length != 0) hash ^= Param2.GetHashCode();
      if (Param3.Length != 0) hash ^= Param3.GetHashCode();
      if (Param4.Length != 0) hash ^= Param4.GetHashCode();
      if (Param5.Length != 0) hash ^= Param5.GetHashCode();
      if (Param6.Length != 0) hash ^= Param6.GetHashCode();
      if (Param7.Length != 0) hash ^= Param7.GetHashCode();
      if (Param8.Length != 0) hash ^= Param8.GetHashCode();
      if (Param9.Length != 0) hash ^= Param9.GetHashCode();
      if (Param10.Length != 0) hash ^= Param10.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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Color);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Param10);
      }
      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.WriteInt32(Id);
      }
      if (Title.Length != 0) {
        output.WriteRawTag(18);
        output.WriteString(Title);
      }
      if (Color.Length != 0) {
        output.WriteRawTag(26);
        output.WriteString(Color);
      }
      if (Icon.Length != 0) {
        output.WriteRawTag(34);
        output.WriteString(Icon);
      }
      if (Desc.Length != 0) {
        output.WriteRawTag(42);
        output.WriteString(Desc);
      }
      if (Param1.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Param1);
      }
      if (Param2.Length != 0) {
        output.WriteRawTag(58);
        output.WriteString(Param2);
      }
      if (Param3.Length != 0) {
        output.WriteRawTag(66);
        output.WriteString(Param3);
      }
      if (Param4.Length != 0) {
        output.WriteRawTag(74);
        output.WriteString(Param4);
      }
      if (Param5.Length != 0) {
        output.WriteRawTag(82);
        output.WriteString(Param5);
      }
      if (Param6.Length != 0) {
        output.WriteRawTag(90);
        output.WriteString(Param6);
      }
      if (Param7.Length != 0) {
        output.WriteRawTag(98);
        output.WriteString(Param7);
      }
      if (Param8.Length != 0) {
        output.WriteRawTag(106);
        output.WriteString(Param8);
      }
      if (Param9.Length != 0) {
        output.WriteRawTag(114);
        output.WriteString(Param9);
      }
      if (Param10.Length != 0) {
        output.WriteRawTag(122);
        output.WriteString(Param10);
      }
      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.ComputeInt32Size(Id);
      }
      if (Title.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Title);
      }
      if (Color.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Color);
      }
      if (Icon.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Icon);
      }
      if (Desc.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Desc);
      }
      if (Param1.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param1);
      }
      if (Param2.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param2);
      }
      if (Param3.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param3);
      }
      if (Param4.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param4);
      }
      if (Param5.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param5);
      }
      if (Param6.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param6);
      }
      if (Param7.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param7);
      }
      if (Param8.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param8);
      }
      if (Param9.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param9);
      }
      if (Param10.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Param10);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(WordSuper other) {
      if (other == null) {
        return;
      }
      if (other.Id != 0) {
        Id = other.Id;
      }
      if (other.Title.Length != 0) {
        Title = other.Title;
      }
      if (other.Color.Length != 0) {
        Color = other.Color;
      }
      if (other.Icon.Length != 0) {
        Icon = other.Icon;
      }
      if (other.Desc.Length != 0) {
        Desc = other.Desc;
      }
      if (other.Param1.Length != 0) {
        Param1 = other.Param1;
      }
      if (other.Param2.Length != 0) {
        Param2 = other.Param2;
      }
      if (other.Param3.Length != 0) {
        Param3 = other.Param3;
      }
      if (other.Param4.Length != 0) {
        Param4 = other.Param4;
      }
      if (other.Param5.Length != 0) {
        Param5 = other.Param5;
      }
      if (other.Param6.Length != 0) {
        Param6 = other.Param6;
      }
      if (other.Param7.Length != 0) {
        Param7 = other.Param7;
      }
      if (other.Param8.Length != 0) {
        Param8 = other.Param8;
      }
      if (other.Param9.Length != 0) {
        Param9 = other.Param9;
      }
      if (other.Param10.Length != 0) {
        Param10 = other.Param10;
      }
      _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.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Color = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Param1 = input.ReadString();
            break;
          }
          case 58: {
            Param2 = input.ReadString();
            break;
          }
          case 66: {
            Param3 = input.ReadString();
            break;
          }
          case 74: {
            Param4 = input.ReadString();
            break;
          }
          case 82: {
            Param5 = input.ReadString();
            break;
          }
          case 90: {
            Param6 = input.ReadString();
            break;
          }
          case 98: {
            Param7 = input.ReadString();
            break;
          }
          case 106: {
            Param8 = input.ReadString();
            break;
          }
          case 114: {
            Param9 = input.ReadString();
            break;
          }
          case 122: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Id = input.ReadInt32();
            break;
          }
          case 18: {
            Title = input.ReadString();
            break;
          }
          case 26: {
            Color = input.ReadString();
            break;
          }
          case 34: {
            Icon = input.ReadString();
            break;
          }
          case 42: {
            Desc = input.ReadString();
            break;
          }
          case 50: {
            Param1 = input.ReadString();
            break;
          }
          case 58: {
            Param2 = input.ReadString();
            break;
          }
          case 66: {
            Param3 = input.ReadString();
            break;
          }
          case 74: {
            Param4 = input.ReadString();
            break;
          }
          case 82: {
            Param5 = input.ReadString();
            break;
          }
          case 90: {
            Param6 = input.ReadString();
            break;
          }
          case 98: {
            Param7 = input.ReadString();
            break;
          }
          case 106: {
            Param8 = input.ReadString();
            break;
          }
          case 114: {
            Param9 = input.ReadString();
            break;
          }
          case 122: {
            Param10 = input.ReadString();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_WordSuper : pb::IMessage<table_WordSuper>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_WordSuper> _parser = new pb::MessageParser<table_WordSuper>(() => new table_WordSuper());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_WordSuper> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[533]; }
    }

    [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 table_WordSuper() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_WordSuper(table_WordSuper other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_WordSuper Clone() {
      return new table_WordSuper(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.WordSuper> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.WordSuper.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.WordSuper> list_ = new pbc::RepeatedField<global::Nova.Client.WordSuper>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.WordSuper> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_WordSuper);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_WordSuper other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_WordSuper other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class WorldClass : pb::IMessage<WorldClass>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<WorldClass> _parser = new pb::MessageParser<WorldClass>(() => new WorldClass());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<WorldClass> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[534]; }
    }

    [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 WorldClass() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WorldClass(WorldClass other) : this() {
      rank_ = other.rank_;
      exp_ = other.exp_;
      limit_ = other.limit_;
      added_ = other.added_;
      doubleCount_ = other.doubleCount_;
      reward_ = other.reward_;
      rewardLimit_ = other.rewardLimit_;
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public WorldClass Clone() {
      return new WorldClass(this);
    }

    /// <summary>Field number for the "Rank" field.</summary>
    public const int RankFieldNumber = 1;
    private int rank_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Rank {
      get { return rank_; }
      set {
        rank_ = value;
      }
    }

    /// <summary>Field number for the "Exp" field.</summary>
    public const int ExpFieldNumber = 2;
    private int exp_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Exp {
      get { return exp_; }
      set {
        exp_ = value;
      }
    }

    /// <summary>Field number for the "Limit" field.</summary>
    public const int LimitFieldNumber = 3;
    private int limit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Limit {
      get { return limit_; }
      set {
        limit_ = value;
      }
    }

    /// <summary>Field number for the "Added" field.</summary>
    public const int AddedFieldNumber = 4;
    private int added_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int Added {
      get { return added_; }
      set {
        added_ = value;
      }
    }

    /// <summary>Field number for the "DoubleCount" field.</summary>
    public const int DoubleCountFieldNumber = 5;
    private int doubleCount_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int DoubleCount {
      get { return doubleCount_; }
      set {
        doubleCount_ = value;
      }
    }

    /// <summary>Field number for the "Reward" field.</summary>
    public const int RewardFieldNumber = 6;
    private string reward_ = "";
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public string Reward {
      get { return reward_; }
      set {
        reward_ = pb::ProtoPreconditions.CheckNotNull(value, "value");
      }
    }

    /// <summary>Field number for the "RewardLimit" field.</summary>
    public const int RewardLimitFieldNumber = 7;
    private int rewardLimit_;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int RewardLimit {
      get { return rewardLimit_; }
      set {
        rewardLimit_ = value;
      }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as WorldClass);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(WorldClass other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if (Rank != other.Rank) return false;
      if (Exp != other.Exp) return false;
      if (Limit != other.Limit) return false;
      if (Added != other.Added) return false;
      if (DoubleCount != other.DoubleCount) return false;
      if (Reward != other.Reward) return false;
      if (RewardLimit != other.RewardLimit) 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 (Rank != 0) hash ^= Rank.GetHashCode();
      if (Exp != 0) hash ^= Exp.GetHashCode();
      if (Limit != 0) hash ^= Limit.GetHashCode();
      if (Added != 0) hash ^= Added.GetHashCode();
      if (DoubleCount != 0) hash ^= DoubleCount.GetHashCode();
      if (Reward.Length != 0) hash ^= Reward.GetHashCode();
      if (RewardLimit != 0) hash ^= RewardLimit.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 (Rank != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Rank);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      if (Limit != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Limit);
      }
      if (Added != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Added);
      }
      if (DoubleCount != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DoubleCount);
      }
      if (Reward.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Reward);
      }
      if (RewardLimit != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardLimit);
      }
      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 (Rank != 0) {
        output.WriteRawTag(8);
        output.WriteInt32(Rank);
      }
      if (Exp != 0) {
        output.WriteRawTag(16);
        output.WriteInt32(Exp);
      }
      if (Limit != 0) {
        output.WriteRawTag(24);
        output.WriteInt32(Limit);
      }
      if (Added != 0) {
        output.WriteRawTag(32);
        output.WriteInt32(Added);
      }
      if (DoubleCount != 0) {
        output.WriteRawTag(40);
        output.WriteInt32(DoubleCount);
      }
      if (Reward.Length != 0) {
        output.WriteRawTag(50);
        output.WriteString(Reward);
      }
      if (RewardLimit != 0) {
        output.WriteRawTag(56);
        output.WriteInt32(RewardLimit);
      }
      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 (Rank != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Rank);
      }
      if (Exp != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Exp);
      }
      if (Limit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Limit);
      }
      if (Added != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(Added);
      }
      if (DoubleCount != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(DoubleCount);
      }
      if (Reward.Length != 0) {
        size += 1 + pb::CodedOutputStream.ComputeStringSize(Reward);
      }
      if (RewardLimit != 0) {
        size += 1 + pb::CodedOutputStream.ComputeInt32Size(RewardLimit);
      }
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(WorldClass other) {
      if (other == null) {
        return;
      }
      if (other.Rank != 0) {
        Rank = other.Rank;
      }
      if (other.Exp != 0) {
        Exp = other.Exp;
      }
      if (other.Limit != 0) {
        Limit = other.Limit;
      }
      if (other.Added != 0) {
        Added = other.Added;
      }
      if (other.DoubleCount != 0) {
        DoubleCount = other.DoubleCount;
      }
      if (other.Reward.Length != 0) {
        Reward = other.Reward;
      }
      if (other.RewardLimit != 0) {
        RewardLimit = other.RewardLimit;
      }
      _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: {
            Rank = input.ReadInt32();
            break;
          }
          case 16: {
            Exp = input.ReadInt32();
            break;
          }
          case 24: {
            Limit = input.ReadInt32();
            break;
          }
          case 32: {
            Added = input.ReadInt32();
            break;
          }
          case 40: {
            DoubleCount = input.ReadInt32();
            break;
          }
          case 50: {
            Reward = input.ReadString();
            break;
          }
          case 56: {
            RewardLimit = input.ReadInt32();
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 8: {
            Rank = input.ReadInt32();
            break;
          }
          case 16: {
            Exp = input.ReadInt32();
            break;
          }
          case 24: {
            Limit = input.ReadInt32();
            break;
          }
          case 32: {
            Added = input.ReadInt32();
            break;
          }
          case 40: {
            DoubleCount = input.ReadInt32();
            break;
          }
          case 50: {
            Reward = input.ReadString();
            break;
          }
          case 56: {
            RewardLimit = input.ReadInt32();
            break;
          }
        }
      }
    }
    #endif

  }

  [global::System.Diagnostics.DebuggerDisplayAttribute("{ToString(),nq}")]
  public sealed partial class table_WorldClass : pb::IMessage<table_WorldClass>
  #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
      , pb::IBufferMessage
  #endif
  {
    private static readonly pb::MessageParser<table_WorldClass> _parser = new pb::MessageParser<table_WorldClass>(() => new table_WorldClass());
    private pb::UnknownFieldSet _unknownFields;
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pb::MessageParser<table_WorldClass> Parser { get { return _parser; } }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public static pbr::MessageDescriptor Descriptor {
      get { return global::Nova.Client.ClientTableReflection.Descriptor.MessageTypes[535]; }
    }

    [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 table_WorldClass() {
      OnConstruction();
    }

    partial void OnConstruction();

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_WorldClass(table_WorldClass other) : this() {
      list_ = other.list_.Clone();
      _unknownFields = pb::UnknownFieldSet.Clone(other._unknownFields);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public table_WorldClass Clone() {
      return new table_WorldClass(this);
    }

    /// <summary>Field number for the "list" field.</summary>
    public const int ListFieldNumber = 1;
    private static readonly pb::FieldCodec<global::Nova.Client.WorldClass> _repeated_list_codec
        = pb::FieldCodec.ForMessage(10, global::Nova.Client.WorldClass.Parser);
    private readonly pbc::RepeatedField<global::Nova.Client.WorldClass> list_ = new pbc::RepeatedField<global::Nova.Client.WorldClass>();
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public pbc::RepeatedField<global::Nova.Client.WorldClass> List {
      get { return list_; }
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public override bool Equals(object other) {
      return Equals(other as table_WorldClass);
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public bool Equals(table_WorldClass other) {
      if (ReferenceEquals(other, null)) {
        return false;
      }
      if (ReferenceEquals(other, this)) {
        return true;
      }
      if(!list_.Equals(other.list_)) 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 ^= list_.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
      list_.WriteTo(output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(output);
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalWriteTo(ref pb::WriteContext output) {
      list_.WriteTo(ref output, _repeated_list_codec);
      if (_unknownFields != null) {
        _unknownFields.WriteTo(ref output);
      }
    }
    #endif

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public int CalculateSize() {
      int size = 0;
      size += list_.CalculateSize(_repeated_list_codec);
      if (_unknownFields != null) {
        size += _unknownFields.CalculateSize();
      }
      return size;
    }

    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    public void MergeFrom(table_WorldClass other) {
      if (other == null) {
        return;
      }
      list_.Add(other.list_);
      _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: {
            list_.AddEntriesFrom(input, _repeated_list_codec);
            break;
          }
        }
      }
    #endif
    }

    #if !GOOGLE_PROTOBUF_REFSTRUCT_COMPATIBILITY_MODE
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute]
    [global::System.CodeDom.Compiler.GeneratedCode("protoc", null)]
    void pb::IBufferMessage.InternalMergeFrom(ref pb::ParseContext input) {
      uint tag;
      while ((tag = input.ReadTag()) != 0) {
      if ((tag & 7) == 4) {
        // Abort on any end group tag.
        return;
      }
      switch(tag) {
          default:
            _unknownFields = pb::UnknownFieldSet.MergeFieldFrom(_unknownFields, ref input);
            break;
          case 10: {
            list_.AddEntriesFrom(ref input, _repeated_list_codec);
            break;
          }
        }
      }
    }
    #endif

  }

  #endregion

}

#endregion Designer generated code
